From c13ceccc82e43632d9c2741191d6518240265b4f Mon Sep 17 00:00:00 2001 From: Guillermo Ruffino Date: Thu, 20 Jul 2023 11:05:39 -0300 Subject: [PATCH] update schema to v2023.7 (#511) --- schema/airthings_wave_base.json | 148 ++++++++++++++++ schema/airthings_wave_mini.json | 111 +----------- schema/airthings_wave_plus.json | 111 +----------- schema/alpha3.json | 145 ++++++++++++++++ schema/animation.json | 10 +- schema/api.json | 4 +- schema/atm90e26.json | 290 ++++++++++++++++++++++++++++++++ schema/binary_sensor.json | 38 ++++- schema/bme280.json | 2 +- schema/bme680_bsec.json | 23 +-- schema/button.json | 1 + schema/ccs811.json | 2 +- schema/climate.json | 2 +- schema/display.json | 4 +- schema/dsmr.json | 28 +++ schema/duty_time.json | 158 +++++++++++++++++ schema/esphome.json | 16 +- schema/ethernet.json | 5 +- schema/font.json | 4 +- schema/graph.json | 4 +- schema/grove_tb6612fng.json | 133 +++++++++++++++ schema/haier.json | 51 ++++-- schema/ili9xxx.json | 21 ++- schema/image.json | 2 +- schema/logger.json | 132 +++++++++++++++ schema/mcp2515.json | 3 +- schema/pcf8563.json | 70 ++++++++ schema/prometheus.json | 2 +- schema/remote_transmitter.json | 2 +- schema/script.json | 2 +- schema/sensor.json | 24 +++ schema/sgp30.json | 2 +- schema/speaker.json | 2 +- schema/template.json | 6 - schema/time.json | 6 + schema/touchscreen.json | 6 + schema/tt21100.json | 96 +++++++++++ schema/waveshare_epaper.json | 5 +- schema/web_server.json | 5 + schema/web_server_idf.json | 7 + schema/xl9535.json | 6 +- schema/zio_ultrasonic.json | 57 +++++++ 42 files changed, 1458 insertions(+), 288 deletions(-) create mode 100644 schema/airthings_wave_base.json create mode 100644 schema/alpha3.json create mode 100644 schema/atm90e26.json create mode 100644 schema/duty_time.json create mode 100644 schema/grove_tb6612fng.json create mode 100644 schema/pcf8563.json create mode 100644 schema/tt21100.json create mode 100644 schema/web_server_idf.json create mode 100644 schema/zio_ultrasonic.json diff --git a/schema/airthings_wave_base.json b/schema/airthings_wave_base.json new file mode 100644 index 00000000..e718b583 --- /dev/null +++ b/schema/airthings_wave_base.json @@ -0,0 +1,148 @@ +{ + "airthings_wave_base": { + "schemas": { + "BASE_SCHEMA": { + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA", + "core.COMPONENT_SCHEMA" + ], + "config_vars": { + "humidity": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "%" + }, + "accuracy_decimals": { + "default": "0" + }, + "device_class": { + "default": "humidity" + }, + "state_class": { + "default": "measurement" + } + } + } + }, + "temperature": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "\u00b0C" + }, + "accuracy_decimals": { + "default": "2" + }, + "device_class": { + "default": "temperature" + }, + "state_class": { + "default": "measurement" + } + } + } + }, + "pressure": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "hPa" + }, + "accuracy_decimals": { + "default": "1" + }, + "device_class": { + "default": "pressure" + }, + "state_class": { + "default": "measurement" + } + } + } + }, + "tvoc": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "ppb" + }, + "accuracy_decimals": { + "default": "0" + }, + "device_class": { + "default": "volatile_organic_compounds_parts" + }, + "state_class": { + "default": "measurement" + } + } + } + }, + "battery_voltage": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "V" + }, + "accuracy_decimals": { + "default": "3" + }, + "device_class": { + "default": "voltage" + }, + "state_class": { + "default": "measurement" + }, + "entity_category": { + "default": "diagnostic" + } + } + } + }, + "battery_update_interval": { + "key": "Optional", + "default": "24h" + }, + "update_interval": { + "key": "Optional", + "default": "5min" + }, + "ble_client_id": { + "key": "GeneratedID", + "use_id_type": "ble_client::BLEClient", + "type": "use_id" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/schema/airthings_wave_mini.json b/schema/airthings_wave_mini.json index 631290ba..ad83f90f 100644 --- a/schema/airthings_wave_mini.json +++ b/schema/airthings_wave_mini.json @@ -4,123 +4,22 @@ "CONFIG_SCHEMA": { "type": "schema", "schema": { + "extends": [ + "airthings_wave_base.BASE_SCHEMA" + ], "config_vars": { "id": { - "key": "GeneratedID", "id_type": { "class": "airthings_wave_mini::AirthingsWaveMini", "parents": [ + "airthings_wave_base::AirthingsWaveBase", "PollingComponent", "Component", "ble_client::BLEClientNode" ] } - }, - "humidity": { - "key": "Optional", - "type": "schema", - "schema": { - "extends": [ - "sensor.SENSOR_SCHEMA" - ], - "config_vars": { - "unit_of_measurement": { - "default": "%" - }, - "accuracy_decimals": { - "default": "2" - }, - "device_class": { - "default": "humidity" - }, - "state_class": { - "default": "measurement" - } - } - } - }, - "temperature": { - "key": "Optional", - "type": "schema", - "schema": { - "extends": [ - "sensor.SENSOR_SCHEMA" - ], - "config_vars": { - "unit_of_measurement": { - "default": "\u00b0C" - }, - "accuracy_decimals": { - "default": "2" - }, - "device_class": { - "default": "temperature" - }, - "state_class": { - "default": "measurement" - } - } - } - }, - "pressure": { - "key": "Optional", - "type": "schema", - "schema": { - "extends": [ - "sensor.SENSOR_SCHEMA" - ], - "config_vars": { - "unit_of_measurement": { - "default": "hPa" - }, - "accuracy_decimals": { - "default": "2" - }, - "device_class": { - "default": "pressure" - }, - "state_class": { - "default": "measurement" - } - } - } - }, - "tvoc": { - "key": "Optional", - "type": "schema", - "schema": { - "extends": [ - "sensor.SENSOR_SCHEMA" - ], - "config_vars": { - "unit_of_measurement": { - "default": "ppb" - }, - "icon": { - "default": "mdi:radiator" - }, - "accuracy_decimals": { - "default": "0" - }, - "state_class": { - "default": "measurement" - } - } - } - }, - "update_interval": { - "key": "Optional", - "default": "5min" - }, - "ble_client_id": { - "key": "GeneratedID", - "use_id_type": "ble_client::BLEClient", - "type": "use_id" } - }, - "extends": [ - "core.COMPONENT_SCHEMA" - ] + } } } } diff --git a/schema/airthings_wave_plus.json b/schema/airthings_wave_plus.json index 9d2702bc..58ac0739 100644 --- a/schema/airthings_wave_plus.json +++ b/schema/airthings_wave_plus.json @@ -4,41 +4,21 @@ "CONFIG_SCHEMA": { "type": "schema", "schema": { + "extends": [ + "airthings_wave_base.BASE_SCHEMA" + ], "config_vars": { "id": { - "key": "GeneratedID", "id_type": { "class": "airthings_wave_plus::AirthingsWavePlus", "parents": [ + "airthings_wave_base::AirthingsWaveBase", "PollingComponent", "Component", "ble_client::BLEClientNode" ] } }, - "humidity": { - "key": "Optional", - "type": "schema", - "schema": { - "extends": [ - "sensor.SENSOR_SCHEMA" - ], - "config_vars": { - "unit_of_measurement": { - "default": "%" - }, - "accuracy_decimals": { - "default": "0" - }, - "device_class": { - "default": "humidity" - }, - "state_class": { - "default": "measurement" - } - } - } - }, "radon": { "key": "Optional", "type": "schema", @@ -85,52 +65,6 @@ } } }, - "temperature": { - "key": "Optional", - "type": "schema", - "schema": { - "extends": [ - "sensor.SENSOR_SCHEMA" - ], - "config_vars": { - "unit_of_measurement": { - "default": "\u00b0C" - }, - "accuracy_decimals": { - "default": "2" - }, - "device_class": { - "default": "temperature" - }, - "state_class": { - "default": "measurement" - } - } - } - }, - "pressure": { - "key": "Optional", - "type": "schema", - "schema": { - "extends": [ - "sensor.SENSOR_SCHEMA" - ], - "config_vars": { - "unit_of_measurement": { - "default": "hPa" - }, - "accuracy_decimals": { - "default": "1" - }, - "device_class": { - "default": "pressure" - }, - "state_class": { - "default": "measurement" - } - } - } - }, "co2": { "key": "Optional", "type": "schema", @@ -153,43 +87,8 @@ } } } - }, - "tvoc": { - "key": "Optional", - "type": "schema", - "schema": { - "extends": [ - "sensor.SENSOR_SCHEMA" - ], - "config_vars": { - "unit_of_measurement": { - "default": "ppb" - }, - "icon": { - "default": "mdi:radiator" - }, - "accuracy_decimals": { - "default": "0" - }, - "state_class": { - "default": "measurement" - } - } - } - }, - "update_interval": { - "key": "Optional", - "default": "5min" - }, - "ble_client_id": { - "key": "GeneratedID", - "use_id_type": "ble_client::BLEClient", - "type": "use_id" } - }, - "extends": [ - "core.COMPONENT_SCHEMA" - ] + } } } } diff --git a/schema/alpha3.json b/schema/alpha3.json new file mode 100644 index 00000000..b5dc8d60 --- /dev/null +++ b/schema/alpha3.json @@ -0,0 +1,145 @@ +{ + "alpha3.sensor": { + "schemas": { + "CONFIG_SCHEMA": { + "type": "schema", + "schema": { + "config_vars": { + "id": { + "key": "GeneratedID", + "id_type": { + "class": "alpha3::Alpha3", + "parents": [ + "ble_client::BLEClientNode", + "PollingComponent", + "Component" + ] + }, + "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: Manually specify the ID used for code generation.\n\n*See also: [Grundfos Alpha3](https://esphome.io/components/sensor/alpha3.html#configuration-variables)*" + }, + "flow": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "m\u00b3/h" + }, + "accuracy_decimals": { + "default": "2" + } + } + }, + "docs": "The estimated volume flow of the medium in `m\u00b3/h`. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [Grundfos Alpha3](https://esphome.io/components/sensor/alpha3.html#configuration-variables)*" + }, + "head": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "m" + }, + "accuracy_decimals": { + "default": "2" + } + } + }, + "docs": "The estimated head (preasure difference generated by the pump) in `m`. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [Grundfos Alpha3](https://esphome.io/components/sensor/alpha3.html#configuration-variables)*" + }, + "power": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "W" + }, + "accuracy_decimals": { + "default": "2" + } + } + }, + "docs": "The power consumption of the pump in `W`. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [Grundfos Alpha3](https://esphome.io/components/sensor/alpha3.html#configuration-variables)*" + }, + "current": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "A" + }, + "accuracy_decimals": { + "default": "2" + } + } + }, + "docs": "Current in `A`. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor)\n\n*See also: [Grundfos Alpha3](https://esphome.io/components/sensor/alpha3.html#configuration-variables)*" + }, + "speed": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "RPM" + }, + "accuracy_decimals": { + "default": "2" + } + } + }, + "docs": "the speed of the pump rotor in `RPM`. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [Grundfos Alpha3](https://esphome.io/components/sensor/alpha3.html#configuration-variables)*" + }, + "voltage": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "V" + }, + "accuracy_decimals": { + "default": "2" + } + } + }, + "docs": "Voltage in `V`. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [Grundfos Alpha3](https://esphome.io/components/sensor/alpha3.html#configuration-variables)*" + }, + "ble_client_id": { + "key": "GeneratedID", + "use_id_type": "ble_client::BLEClient", + "type": "use_id" + }, + "update_interval": { + "key": "Optional", + "default": "15s" + } + }, + "extends": [ + "core.COMPONENT_SCHEMA" + ] + } + } + } + } +} \ No newline at end of file diff --git a/schema/animation.json b/schema/animation.json index ffa5360a..976e420c 100644 --- a/schema/animation.json +++ b/schema/animation.json @@ -8,9 +8,9 @@ "id": { "key": "Required", "id_type": { - "class": "display::Animation", + "class": "animation::Animation", "parents": [ - "display::Image" + "image::Image" ] }, "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: The ID with which you will be able to reference the animation later in your display code.\n\n*See also: [Animation](https://esphome.io/components/display/index.html#configuration-variables)*" @@ -101,7 +101,7 @@ "config_vars": { "id": { "key": "GeneratedID", - "use_id_type": "display::Animation", + "use_id_type": "animation::Animation", "type": "use_id" }, "frame": { @@ -118,7 +118,7 @@ "config_vars": { "id": { "key": "GeneratedID", - "use_id_type": "display::Animation", + "use_id_type": "animation::Animation", "type": "use_id" } } @@ -131,7 +131,7 @@ "config_vars": { "id": { "key": "GeneratedID", - "use_id_type": "display::Animation", + "use_id_type": "animation::Animation", "type": "use_id" } } diff --git a/schema/api.json b/schema/api.json index 57997924..c81b0bdb 100644 --- a/schema/api.json +++ b/schema/api.json @@ -87,11 +87,11 @@ "config_vars": { "key": { "key": "Required", - "docs": "**string**: The pre-shared key for the encryption. This is a 32-byte base64 encoded string. Below you can copy a key randomly generated in your browser: \n\n*See also: [Native API Component](https://esphome.io/components/api.html#configuration-variables)*" + "docs": "**string**: The pre-shared key for the encryption. This is a 32-byte base64 encoded string. Below you can copy a key randomly generated in your browser: \n\n*See also: [Native API Component](https://esphome.io/components/api.html#configuration-variables)*" } } }, - "docs": "Enable transport encryption of the API layer.\n * **key** (**Required**, string): The pre-shared key for the encryption. This is a 32-byte base64 encoded string. Below you can copy a key randomly generated in your browser: \n \n \n\n*See also: [Native API Component](https://esphome.io/components/api.html#configuration-variables)*" + "docs": "Enable transport encryption of the API layer.\n * **key** (**Required**, string): The pre-shared key for the encryption. This is a 32-byte base64 encoded string. Below you can copy a key randomly generated in your browser: \n \n \n\n*See also: [Native API Component](https://esphome.io/components/api.html#configuration-variables)*" } }, "extends": [ diff --git a/schema/atm90e26.json b/schema/atm90e26.json new file mode 100644 index 00000000..e129a1ce --- /dev/null +++ b/schema/atm90e26.json @@ -0,0 +1,290 @@ +{ + "atm90e26.sensor": { + "schemas": { + "CONFIG_SCHEMA": { + "type": "schema", + "schema": { + "config_vars": { + "id": { + "key": "GeneratedID", + "id_type": { + "class": "atm90e26::ATM90E26Component", + "parents": [ + "PollingComponent", + "Component", + "spi::SPIDevice" + ] + } + }, + "voltage": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "V" + }, + "accuracy_decimals": { + "default": "2" + }, + "device_class": { + "default": "voltage" + }, + "state_class": { + "default": "measurement" + } + } + }, + "docs": "Use the voltage value of this phase in V (RMS). All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "current": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "A" + }, + "accuracy_decimals": { + "default": "2" + }, + "device_class": { + "default": "current" + }, + "state_class": { + "default": "measurement" + } + } + }, + "docs": "Use the current value of this phase in amperes. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "power": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "W" + }, + "accuracy_decimals": { + "default": "2" + }, + "device_class": { + "default": "power" + }, + "state_class": { + "default": "measurement" + } + } + }, + "docs": "Use the power value on this phase in watts. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "reactive_power": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "VAR" + }, + "icon": { + "default": "mdi:lightbulb" + }, + "accuracy_decimals": { + "default": "2" + }, + "state_class": { + "default": "measurement" + } + } + }, + "docs": "Use the reactive power value on this phase. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "power_factor": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "accuracy_decimals": { + "default": "2" + }, + "device_class": { + "default": "power_factor" + }, + "state_class": { + "default": "measurement" + } + } + }, + "docs": "Use the power factor value on this phase. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "forward_active_energy": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "Wh" + }, + "accuracy_decimals": { + "default": "2" + }, + "device_class": { + "default": "energy" + }, + "state_class": { + "default": "total_increasing" + } + } + }, + "docs": "Use the forward active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "reverse_active_energy": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "Wh" + }, + "accuracy_decimals": { + "default": "2" + }, + "device_class": { + "default": "energy" + }, + "state_class": { + "default": "total_increasing" + } + } + }, + "docs": "Use the reverse active energy value on this phase in watt-hours. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "frequency": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "Hz" + }, + "icon": { + "default": "mdi:current-ac" + }, + "accuracy_decimals": { + "default": "1" + }, + "state_class": { + "default": "measurement" + } + } + }, + "docs": "Use the frequency value calculated by the meter. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "line_frequency": { + "key": "Required", + "type": "enum", + "values": { + "50HZ": null, + "60HZ": null + }, + "docs": "**string**: The AC line frequency of the supply voltage. One of `50Hz`, `60Hz`.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "meter_constant": { + "key": "Required", + "data_type": "positive_float", + "docs": "**float**: The number of pulses per kWh. The ATM90E26 internally works based on pulses and this value converts a pulse into Wh, which are emitted as `forward_active_energy` etc. Matching it against an existing meter is useful in that it allows visual confirmation for some devices that blink an LED for each pulse. Common values are 1000 pulses/kWh, 1666.66 pulses/kWh, or 3200 pulses/kWh. See also **gain_metering** which determines after how much energy a pulse is emitted.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "pl_const": { + "key": "Optional", + "default": "1429876", + "type": "integer", + "data_type": "uint32_t", + "docs": "**int**: A constant derived from the physical characteristics of your measurement setup. See the Calibration section. Defaults to `1429876`.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "gain_metering": { + "key": "Optional", + "default": "7481", + "type": "integer", + "data_type": "uint16_t", + "docs": "**int**: This value determines how quickly internal energy registers accumulate and hence defines the value of a \u201cpulse\u201d. Matching it against an existing meter is useful in that it allows visual confirmation for some devices that blink an LED for each pulse. See also the **meter_constant**. Defaults to `7481`.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "gain_voltage": { + "key": "Optional", + "default": "26400", + "type": "integer", + "docs": "**int**: Voltage gain to scale the low voltage AC power back to household mains feed. Defaults to `26400`.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "gain_ct": { + "key": "Optional", + "default": "31251", + "type": "integer", + "data_type": "uint16_t", + "docs": "**int**: CT clamp calibration value. Defaults to `31251`.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "gain_pga": { + "key": "Optional", + "default": "1X", + "type": "enum", + "values": { + "1X": null, + "4X": null, + "8X": null, + "16X": null, + "24X": null + }, + "docs": "**string**: The gain for the CT clamp. Valid values are `1X`, `4X`, `8X`, `16X`, and `24X`. Defaults to `1X`.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "update_interval": { + "key": "Optional", + "default": "60s", + "docs": "**[Time](https://esphome.io/guides/configuration-types.html#config-time)**: The interval to check the sensor. Defaults to `60s`.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "spi_id": { + "key": "GeneratedID", + "use_id_type": "spi::SPIComponent", + "type": "use_id", + "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: Manually specify the ID of the [SPI Component](https://esphome.io/components/spi.html#spi) if you want to use multiple SPI buses.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + }, + "cs_pin": { + "key": "Required", + "schema": true, + "modes": [ + "output" + ], + "type": "pin", + "docs": "**[Pin Schema](https://esphome.io/guides/configuration-types.html#config-pin-schema)**: 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.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#configuration-variables)*" + } + }, + "extends": [ + "core.COMPONENT_SCHEMA" + ] + } + } + } + } +} \ No newline at end of file diff --git a/schema/binary_sensor.json b/schema/binary_sensor.json index a0c7839e..af82173d 100644 --- a/schema/binary_sensor.json +++ b/schema/binary_sensor.json @@ -157,6 +157,9 @@ ], "docs": "The `touchscreen` binary sensor allows you to setup areas on the touch screen as virtual buttons.\n\n*See also: [touchscreen Binary Sensor](https://esphome.io/components/touchscreen/index.html#binary-sensor)*" }, + "tt21100": { + "docs": "In addition to touch areas on the screen configured through the [Touchscreen](https://esphome.io/components/touchscreen/index.html#config-touchscreen) component, the TT21100 supports up to four buttons located outside of the normal touchscreen area. On the ESP32-S3-BOX and the ESP32-S3-Korvo-2-LCD, the red circle below the display is such a button. A binary sensor can be configured to react to touching these buttons.\n\n*See also: [tt21100 Binary Sensor](https://esphome.io/components/touchscreen/tt21100.html#binary-sensor)*" + }, "ttp229_bsf": { "dependencies": [ "ttp229_bsf" @@ -462,31 +465,58 @@ "docs": "Simple filter that just inverts every value from the binary sensor.\n\n*See also: [`invert`](https://esphome.io/components/binary_sensor/index.html#invert)*" }, "delayed_on_off": { + "templatable": true, "type": "schema", "schema": { "extends": [ "core.positive_time_period_milliseconds" - ] + ], + "config_vars": { + "time_on": { + "key": "Required", + "templatable": true, + "type": "schema", + "schema": { + "extends": [ + "core.positive_time_period_milliseconds" + ] + }, + "docs": "**time, [templatable](https://esphome.io/guides/automations.html#config-templatable)**: ON delay.\n\n*See also: [delayed_on_off](https://esphome.io/components/binary_sensor/index.html#delayed-on-off)*" + }, + "time_off": { + "key": "Required", + "templatable": true, + "type": "schema", + "schema": { + "extends": [ + "core.positive_time_period_milliseconds" + ] + }, + "docs": "**time, [templatable](https://esphome.io/guides/automations.html#config-templatable)**: OFF delay.\n\n*See also: [delayed_on_off](https://esphome.io/components/binary_sensor/index.html#delayed-on-off)*" + } + } }, - "docs": "**[Time](https://esphome.io/guides/configuration-types.html#config-time)**: Only send an ON or OFF value if the binary sensor has stayed in the same state for at least the specified time period. **Useful for debouncing binary switches**.\n\n*See also: [`delayed_on_off`](https://esphome.io/components/binary_sensor/index.html#delayed-on-off)*" + "docs": "Only send an ON or OFF value if the binary sensor has stayed in the same state for at least the specified time period.\n\n*See also: [`delayed_on_off`](https://esphome.io/components/binary_sensor/index.html#delayed-on-off)*" }, "delayed_on": { + "templatable": true, "type": "schema", "schema": { "extends": [ "core.positive_time_period_milliseconds" ] }, - "docs": "**[Time](https://esphome.io/guides/configuration-types.html#config-time)**: When a signal ON is received, wait for the specified time period until publishing an ON state. If an OFF value is received while waiting, the ON action is discarded. Or in other words: Only send an ON value if the binary sensor has stayed ON for at least the specified time period. **Useful for debouncing push buttons**.\n\n*See also: [`delayed_on`](https://esphome.io/components/binary_sensor/index.html#delayed-on)*" + "docs": "**time, [templatable](https://esphome.io/guides/automations.html#config-templatable)**: When a signal ON is received, wait for the specified time period until publishing an ON state. If an OFF value is received while waiting, the ON action is discarded. Or in other words: Only send an ON value if the binary sensor has stayed ON for at least the specified time period. When using a lambda call, you should return the delay value in milliseconds. **Useful for debouncing push buttons**.\n\n*See also: [`delayed_on`](https://esphome.io/components/binary_sensor/index.html#delayed-on)*" }, "delayed_off": { + "templatable": true, "type": "schema", "schema": { "extends": [ "core.positive_time_period_milliseconds" ] }, - "docs": "**[Time](https://esphome.io/guides/configuration-types.html#config-time)**: When a signal OFF is received, wait for the specified time period until publishing an OFF state. If an ON value is received while waiting, the OFF action is discarded. Or in other words: Only send an OFF value if the binary sensor has stayed OFF for at least the specified time period. **Useful for debouncing push buttons**.\n\n*See also: [`delayed_off`](https://esphome.io/components/binary_sensor/index.html#delayed-off)*" + "docs": "**time, [templatable](https://esphome.io/guides/automations.html#config-templatable)**: When a signal OFF is received, wait for the specified time period until publishing an OFF state. If an ON value is received while waiting, the OFF action is discarded. Or in other words: Only send an OFF value if the binary sensor has stayed OFF for at least the specified time period. When using a lambda call, you should return the delay value in milliseconds. **Useful for debouncing push buttons**.\n\n*See also: [`delayed_off`](https://esphome.io/components/binary_sensor/index.html#delayed-off)*" }, "autorepeat": { "is_list": true, diff --git a/schema/bme280.json b/schema/bme280.json index 908bbb0c..c0689469 100644 --- a/schema/bme280.json +++ b/schema/bme280.json @@ -52,7 +52,7 @@ } } }, - "docs": "The information for the temperature. sensor\n * **name** (**Required**, string): The name for the temperature sensor.\n \n * **oversampling** (*Optional*): The oversampling parameter for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bme280.html#bme280-oversampling).\n \n * **id** (*Optional*, [ID](https://esphome.io/guides/configuration-types.html#config-id)): Set the ID of this sensor for use in lambdas.\n \n * All other options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n \n \n\n*See also: [BME280 Temperature+Pressure+Humidity Sensor](https://esphome.io/components/sensor/bme280.html#configuration-variables)*" + "docs": "The information for the temperature sensor.\n * **name** (**Required**, string): The name for the temperature sensor.\n \n * **oversampling** (*Optional*): The oversampling parameter for the temperature sensor. See [Oversampling Options](https://esphome.io/components/sensor/bme280.html#bme280-oversampling).\n \n * **id** (*Optional*, [ID](https://esphome.io/guides/configuration-types.html#config-id)): Set the ID of this sensor for use in lambdas.\n \n * All other options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n \n \n\n*See also: [BME280 Temperature+Pressure+Humidity Sensor](https://esphome.io/components/sensor/bme280.html#configuration-variables)*" }, "pressure": { "key": "Optional", diff --git a/schema/bme680_bsec.json b/schema/bme680_bsec.json index 7e0e4ee1..51caca7b 100644 --- a/schema/bme680_bsec.json +++ b/schema/bme680_bsec.json @@ -92,9 +92,6 @@ "unit_of_measurement": { "default": "\u00b0C" }, - "icon": { - "default": "mdi:thermometer" - }, "accuracy_decimals": { "default": "1" }, @@ -128,14 +125,11 @@ "unit_of_measurement": { "default": "hPa" }, - "icon": { - "default": "mdi:gauge" - }, "accuracy_decimals": { "default": "1" }, "device_class": { - "default": "pressure" + "default": "atmospheric_pressure" }, "state_class": { "default": "measurement" @@ -164,9 +158,6 @@ "unit_of_measurement": { "default": "%" }, - "icon": { - "default": "mdi:water-percent" - }, "accuracy_decimals": { "default": "1" }, @@ -269,12 +260,12 @@ "unit_of_measurement": { "default": "ppm" }, - "icon": { - "default": "mdi:test-tube" - }, "accuracy_decimals": { "default": "1" }, + "device_class": { + "default": "carbon_dioxide" + }, "state_class": { "default": "measurement" } @@ -293,12 +284,12 @@ "unit_of_measurement": { "default": "ppm" }, - "icon": { - "default": "mdi:test-tube" - }, "accuracy_decimals": { "default": "1" }, + "device_class": { + "default": "volatile_organic_compounds_parts" + }, "state_class": { "default": "measurement" } diff --git a/schema/button.json b/schema/button.json index 2e7d44d4..53bc430f 100644 --- a/schema/button.json +++ b/schema/button.json @@ -56,6 +56,7 @@ "type": "enum", "values": { "": null, + "identify": null, "restart": null, "update": null }, diff --git a/schema/ccs811.json b/schema/ccs811.json index 7ef4733d..374671a8 100644 --- a/schema/ccs811.json +++ b/schema/ccs811.json @@ -61,7 +61,7 @@ "default": "0" }, "device_class": { - "default": "volatile_organic_compounds" + "default": "volatile_organic_compounds_parts" }, "state_class": { "default": "measurement" diff --git a/schema/climate.json b/schema/climate.json index 3491d432..977f1903 100644 --- a/schema/climate.json +++ b/schema/climate.json @@ -37,7 +37,7 @@ "climate", "uart" ], - "docs": "The `haier` climate platform creates a Haier climate device. The component can be used as a replacement of a Haier proprietary WiFi modules such as KZW-W001 and KZW-W002.\n\n*See also: [Haier Climate](https://esphome.io/components/climate/haier.html#haier-climate)*" + "docs": "This is an implementation of the ESPHome component to control HVAC on the base of the SmartAir2 and hOn Haier protocols (AC that is controlled by the hOn or SmartAir2 application).\n\n*See also: [Haier Climate](https://esphome.io/components/climate/haier.html#haier-climate)*" }, "heatpumpir": {}, "hitachi_ac344": {}, diff --git a/schema/display.json b/schema/display.json index 523e5561..445361d7 100644 --- a/schema/display.json +++ b/schema/display.json @@ -9,7 +9,7 @@ "dependencies": [ "spi" ], - "docs": "This component is the successor of the ILI9341 component allowing to control more display drivers and use 16bit colors when enough free ram.\n\n*See also: [ILI9xxx TFT LCD Series](https://esphome.io/components/display/ili9xxx.html#ili9xxx-tft-lcd-series)*" + "docs": "ILI9341\n\n*See also: [ILI9xxx TFT LCD Series](https://esphome.io/components/display/ili9xxx.html#ili9xxx-tft-lcd-series)*" }, "inkplate6": { "dependencies": [ @@ -132,7 +132,7 @@ "dependencies": [ "spi" ], - "docs": "The `waveshare_epaper` display platform allows you to use some E-Paper displays sold by [Waveshare](https://www.waveshare.com/product/displays/e-paper.htm) with ESPHome. The 2.13\u201d [TTGO module](https://github.com/lewisxhe/TTGO-EPaper-Series) with an ESP32 on the board is supported as well. Depending on your specific revision of the board you might need to try out the `-b73` or `-b1` version (see below). Similar modules sold by other vendors might also work but not have been tested yet. Currently only single-color E-Ink displays are implemented and of those only a few modules.\n\n*See also: [Waveshare E-Paper Display](https://esphome.io/components/display/waveshare_epaper.html#waveshare-e-paper-display)*" + "docs": "The `waveshare_epaper` display platform allows you to use some E-Paper displays sold by [Waveshare](https://www.waveshare.com/product/displays/e-paper.htm) with ESPHome. The 2.13\u201d [TTGO module](https://github.com/lewisxhe/TTGO-EPaper-Series) with an ESP32 on the board is supported as well. Depending on your specific revision of the board you might need to try out the `-b73` or `-b1` version (see below). The 1.54\u201d [Good Display gdew0154m09](https://www.good-display.com/product/206.html) as used in the [M5Stack Core Ink](https://shop.m5stack.com/products/m5stack-esp32-core-ink-development-kit1-54-elnk-display) is also supported. Similar modules sold by other vendors might also work but not have been tested yet. Currently only single-color E-Ink displays are implemented and of those only a few modules.\n\n*See also: [Waveshare E-Paper Display](https://esphome.io/components/display/waveshare_epaper.html#waveshare-e-paper-display)*" } }, "schemas": { diff --git a/schema/dsmr.json b/schema/dsmr.json index fb18e9eb..96a420e6 100644 --- a/schema/dsmr.json +++ b/schema/dsmr.json @@ -32,6 +32,11 @@ "type": "integer", "docs": "**int**: The id of the gas meter. Defaults to `1`.\n\n*See also: [dsmr Component/Hub](https://esphome.io/components/sensor/dsmr.html#component-hub)*" }, + "water_mbus_id": { + "key": "Optional", + "default": "2", + "type": "integer" + }, "max_telegram_length": { "key": "Optional", "default": "1500", @@ -955,6 +960,29 @@ } }, "docs": "Gas Consumed Belgium.\n * **name** (**Required**, string): The name for the gas_delivered_be sensor.\n \n * **id** (*Optional*, [ID](https://esphome.io/guides/configuration-types.html#config-id)): Set the ID of this sensor for use in lambdas.\n \n * All other options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n \n \n\n*See also: [dsmr Sensor](https://esphome.io/components/sensor/dsmr.html#sensor)*" + }, + "water_delivered": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "m\u00b3" + }, + "accuracy_decimals": { + "default": "3" + }, + "device_class": { + "default": "water" + }, + "state_class": { + "default": "total_increasing" + } + } + } } }, "extends": [ diff --git a/schema/duty_time.json b/schema/duty_time.json new file mode 100644 index 00000000..9bfc2f62 --- /dev/null +++ b/schema/duty_time.json @@ -0,0 +1,158 @@ +{ + "duty_time.sensor": { + "schemas": { + "CONFIG_SCHEMA": { + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA", + "core.COMPONENT_SCHEMA" + ], + "config_vars": { + "id": { + "id_type": { + "class": "duty_time_sensor::DutyTimeSensor", + "parents": [ + "sensor::Sensor", + "EntityBase", + "PollingComponent", + "Component" + ] + }, + "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: Set the ID of this sensor for use in lambdas.\n\n*See also: [Duty Time](https://esphome.io/components/sensor/duty_time.html#configuration-variables)*" + }, + "unit_of_measurement": { + "default": "s" + }, + "icon": { + "default": "mdi:timer-play-outline" + }, + "accuracy_decimals": { + "default": "3" + }, + "device_class": { + "default": "duration" + }, + "state_class": { + "default": "total_increasing" + }, + "entity_category": { + "default": "diagnostic" + }, + "sensor": { + "key": "Optional", + "use_id_type": "binary_sensor::BinarySensor", + "type": "use_id", + "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: The ID of the `binary_sensor` to track the duty time. *May not be used with* `lambda`.\n\n*See also: [Duty Time](https://esphome.io/components/sensor/duty_time.html#configuration-variables)*" + }, + "lambda": { + "key": "Optional", + "docs": "**[lambda](https://esphome.io/guides/automations.html#config-lambda)**: Lambda that will be called in a loop to get the current state of the tracked object. *May not be used with* `sensor`.\n\n*See also: [Duty Time](https://esphome.io/components/sensor/duty_time.html#configuration-variables)*" + }, + "restore": { + "key": "Optional", + "default": "False", + "type": "boolean", + "docs": "**boolean**: 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`.\n\n*See also: [Duty Time](https://esphome.io/components/sensor/duty_time.html#configuration-variables)*" + }, + "last_time": { + "key": "Optional", + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA" + ], + "config_vars": { + "unit_of_measurement": { + "default": "s" + }, + "icon": { + "default": "mdi:timer-marker-outline" + }, + "accuracy_decimals": { + "default": "3" + }, + "device_class": { + "default": "duration" + }, + "state_class": { + "default": "total" + }, + "entity_category": { + "default": "diagnostic" + } + } + }, + "docs": "Information of the last switch-on time sensor. All options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n\n*See also: [Duty Time](https://esphome.io/components/sensor/duty_time.html#configuration-variables)*" + }, + "update_interval": { + "key": "Optional", + "default": "60s", + "docs": "**[Time](https://esphome.io/guides/configuration-types.html#config-time)**: The update interval. Defaults to `60s`.\n\n*See also: [Duty Time](https://esphome.io/components/sensor/duty_time.html#configuration-variables)*" + } + } + } + }, + "DUTY_TIME_ID_SCHEMA": { + "type": "schema", + "maybe": "id", + "schema": { + "config_vars": { + "id": { + "key": "Required", + "use_id_type": "duty_time_sensor::DutyTimeSensor", + "type": "use_id" + } + } + } + } + }, + "action": { + "start": { + "type": "schema", + "schema": { + "extends": [ + "duty_time.sensor.DUTY_TIME_ID_SCHEMA" + ] + }, + "docs": "This action starts/resume time tracking. In lambdas, you may use the `start()` method.\n\n*See also: [`sensor.duty_time.start` Action](https://esphome.io/components/sensor/duty_time.html#sensor-duty-time-start-action)*" + }, + "stop": { + "type": "schema", + "schema": { + "extends": [ + "duty_time.sensor.DUTY_TIME_ID_SCHEMA" + ] + }, + "docs": "This action suspends time tracking. Causes the sensor to be updated, including the `last_time` sensor. In lambdas, you may use the `stop()` method.\n\n*See also: [`sensor.duty_time.stop` Action](https://esphome.io/components/sensor/duty_time.html#sensor-duty-time-stop-action)*" + }, + "reset": { + "type": "schema", + "schema": { + "extends": [ + "duty_time.sensor.DUTY_TIME_ID_SCHEMA" + ] + }, + "docs": "This action resets the duty time counter. Causes a sensor update. Does not affect the `last_time` sensor. In lambdas, you may use the `reset()` method.\n\n*See also: [`sensor.duty_time.reset` Action](https://esphome.io/components/sensor/duty_time.html#sensor-duty-time-reset-action)*" + } + }, + "condition": { + "is_running": { + "type": "schema", + "schema": { + "extends": [ + "duty_time.sensor.DUTY_TIME_ID_SCHEMA" + ] + } + }, + "is_not_running": { + "type": "schema", + "schema": { + "extends": [ + "duty_time.sensor.DUTY_TIME_ID_SCHEMA" + ] + } + } + } + } +} \ No newline at end of file diff --git a/schema/esphome.json b/schema/esphome.json index 0e8e0130..6cb5122b 100644 --- a/schema/esphome.json +++ b/schema/esphome.json @@ -119,7 +119,7 @@ }, "min_version": { "key": "Optional", - "default": "2023.7.0-dev", + "default": "2023.7.0b2", "docs": "**string**: The minimum ESPHome version required to compile this configuration. See [Minimum ESPHome version](https://esphome.io/components/esphome.html#esphome-min-version).\n\n*See also: [ESPHome Core Configuration](https://esphome.io/components/esphome.html#configuration-variables)*" }, "compile_process_limit": { @@ -477,7 +477,7 @@ "api", "esp32" ], - "docs": "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.\n\n*See also: [Bluetooth Proxy](https://esphome.io/components/bluetooth_proxy.html#bluetooth-proxy)*" + "docs": "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.\n\n*See also: [Bluetooth Proxy](https://esphome.io/components/bluetooth_proxy.html#bluetooth-proxy)*" }, "bme680_bsec": { "dependencies": [ @@ -666,6 +666,12 @@ ], "docs": "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.\n\n*See also: [Graph Component](https://esphome.io/components/display/index.html#graph-component)*" }, + "grove_tb6612fng": { + "dependencies": [ + "i2c" + ], + "docs": "The Grove TBB6612FNG a runs over I\u00b2C bus and has the capability to control DC and Stepper motors. At the current stage of implementation only DC motor is implemented.\n\n*See also: [Grove TB6612FNG Motor Drive](https://esphome.io/components/grove_tb6612fng.html#grove-tb6612fng-motor-drive)*" + }, "host": {}, "http_request": { "dependencies": [ @@ -709,7 +715,7 @@ "dependencies": [ "uart" ], - "docs": "The `ld2410` sensor platform allows you to use HI-LINK LD2410 motion and presence sensor. ([datasheet and user manual](https://drive.google.com/drive/folders/1p4dhbEJA3YubyIjIIC7wwVsSo8x29Fq-?spm=a2g0o.detail.1000023.17.93465697yFwVxH)) with ESPHome. The [UART](https://esphome.io/components/uart.html#uart) is required to be set up in your configuration for this sensor to work.\n\n*See also: [ld2410 Component/Hub](https://esphome.io/components/sensor/ld2410.html#component-hub)*" + "docs": "The `ld2410` sensor platform allows you to use HI-LINK LD2410 motion and presence sensor ([datasheet and user manual](https://drive.google.com/drive/folders/1p4dhbEJA3YubyIjIIC7wwVsSo8x29Fq-?spm=a2g0o.detail.1000023.17.93465697yFwVxH)) with ESPHome. The [UART](https://esphome.io/components/uart.html#uart) is required to be set up in your configuration for this sensor to work.\n\n*See also: [ld2410 Component/Hub](https://esphome.io/components/sensor/ld2410.html#component-hub)*" }, "logger": { "docs": "The logger component automatically logs all log messages through the serial port and through MQTT topics (if there is an MQTT client in the configuration). By default, all logs with a severity higher than `DEBUG` will be shown. Decreasing the log level can help with the performance of the application and memory size.\n\n*See also: [Logger Component](https://esphome.io/components/logger.html#logger-component)*" @@ -1035,6 +1041,7 @@ "network" ] }, + "web_server_idf": {}, "wiegand": { "docs": "The `wiegand` component allows you to integrate Wiegand-standard key input and card or tag reader panels in Home Assistant.\n\n*See also: [Wiegand keypad and tag reader](https://esphome.io/components/wiegand.html#wiegand-keypad-and-tag-reader)*" }, @@ -1055,7 +1062,8 @@ "xl9535": { "dependencies": [ "i2c" - ] + ], + "docs": "The XL9535 component allows you to use **XL9535** I/O expander in ESPHome. It uses [I\u00b2C Bus](https://esphome.io/components/i2c.html#i2c) for communication.\n\n*See also: [XL9535 I/O Expander](https://esphome.io/components/xl9535.html#xl9535-i-o-expander)*" }, "xpt2046": {} }, diff --git a/schema/ethernet.json b/schema/ethernet.json index 09305405..6f8cb168 100644 --- a/schema/ethernet.json +++ b/schema/ethernet.json @@ -24,9 +24,10 @@ "DP83848": null, "IP101": null, "JL1101": null, - "KSZ8081": null + "KSZ8081": null, + "KSZ8081RNA": null }, - "docs": "**string**: The type of LAN chipset/phy.Supported chipsets are:\n * `LAN8720`\n \n * `RTL8201`\n \n * `DP83848`\n \n * `IP101`\n \n * `JL1101`\n \n * `KSZ8081`\n \n \n\n*See also: [Ethernet Component](https://esphome.io/components/ethernet.html#configuration-variables)*" + "docs": "**string**: The type of LAN chipset/phy.Supported chipsets are:\n * `LAN8720`\n \n * `RTL8201`\n \n * `DP83848`\n \n * `IP101`\n \n * `JL1101`\n \n * `KSZ8081`\n \n * `KSZ8081RNA`\n \n \n\n*See also: [Ethernet Component](https://esphome.io/components/ethernet.html#configuration-variables)*" }, "mdc_pin": { "key": "Required", diff --git a/schema/font.json b/schema/font.json index ba9ff935..d021bddd 100644 --- a/schema/font.json +++ b/schema/font.json @@ -8,7 +8,7 @@ "id": { "key": "Required", "id_type": { - "class": "display::Font", + "class": "font::Font", "parents": [] }, "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: The ID with which you will be able to reference the font later in your display code.\n\n*See also: [Fonts](https://esphome.io/components/display/index.html#fonts)*" @@ -79,7 +79,7 @@ "raw_glyph_id": { "key": "GeneratedID", "id_type": { - "class": "display::GlyphData", + "class": "font::GlyphData", "parents": [] } } diff --git a/schema/graph.json b/schema/graph.json index 999b4e90..406e6216 100644 --- a/schema/graph.json +++ b/schema/graph.json @@ -160,12 +160,12 @@ }, "name_font": { "key": "Required", - "use_id_type": "display::Font", + "use_id_type": "font::Font", "type": "use_id" }, "value_font": { "key": "Optional", - "use_id_type": "display::Font", + "use_id_type": "font::Font", "type": "use_id" }, "width": { diff --git a/schema/grove_tb6612fng.json b/schema/grove_tb6612fng.json new file mode 100644 index 00000000..e7c1d9bb --- /dev/null +++ b/schema/grove_tb6612fng.json @@ -0,0 +1,133 @@ +{ + "grove_tb6612fng": { + "schemas": { + "CONFIG_SCHEMA": { + "type": "schema", + "schema": { + "config_vars": { + "id": { + "key": "Required", + "id_type": { + "class": "grove_tb6612fng::GroveMotorDriveTB6612FNG", + "parents": [ + "Component", + "i2c::I2CDevice" + ] + }, + "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: The id to use for this TB6612FNG component.\n\n*See also: [Grove TB6612FNG Motor Drive](https://esphome.io/components/grove_tb6612fng.html#configuration-variables)*" + }, + "i2c_id": { + "key": "GeneratedID", + "use_id_type": "i2c::I2CBus", + "type": "use_id" + }, + "address": { + "key": "Optional", + "default": "20", + "data_type": "hex_uint8_t", + "docs": "**int**: The I\u00b2C address of the driver. Defaults to `0x14`.\n\n*See also: [Grove TB6612FNG Motor Drive](https://esphome.io/components/grove_tb6612fng.html#configuration-variables)*" + } + }, + "extends": [ + "core.COMPONENT_SCHEMA" + ] + } + } + }, + "action": { + "run": { + "type": "schema", + "schema": { + "config_vars": { + "id": { + "key": "Required", + "use_id_type": "grove_tb6612fng::GroveMotorDriveTB6612FNG", + "type": "use_id" + }, + "channel": { + "key": "Required", + "templatable": true, + "type": "integer" + }, + "speed": { + "key": "Required", + "templatable": true, + "type": "integer" + }, + "direction": { + "key": "Required", + "type": "enum", + "values": { + "FORWARD": null, + "BACKWARD": null + } + } + } + }, + "docs": "Set the motor to spin by defining the direction and speed of the rotation, speed is a range from 0 to 255\n\n*See also: [`grove_tb6612fng.run` Action](https://esphome.io/components/grove_tb6612fng.html#grove-tb6612fng-run-action)*" + }, + "break": { + "type": "schema", + "schema": { + "config_vars": { + "id": { + "key": "Required", + "use_id_type": "grove_tb6612fng::GroveMotorDriveTB6612FNG", + "type": "use_id" + }, + "channel": { + "key": "Required", + "templatable": true, + "type": "integer" + } + } + }, + "docs": "Set the motor channel to be on break mode which it ensure the wheel wont spin even if forced or pushed\n\n*See also: [`grove_tb6612fng.break` Action](https://esphome.io/components/grove_tb6612fng.html#grove-tb6612fng-break-action)*" + }, + "stop": { + "type": "schema", + "schema": { + "config_vars": { + "id": { + "key": "Required", + "use_id_type": "grove_tb6612fng::GroveMotorDriveTB6612FNG", + "type": "use_id" + }, + "channel": { + "key": "Required", + "templatable": true, + "type": "integer" + } + } + }, + "docs": "Set the motor to stop motion but wont stop to spin in case there is a force pulling down, you would want to use break action if this is your case\n\n*See also: [`grove_tb6612fng.stop` Action](https://esphome.io/components/grove_tb6612fng.html#grove-tb6612fng-stop-action)*" + }, + "standby": { + "type": "schema", + "schema": { + "config_vars": { + "id": { + "key": "Required", + "use_id_type": "grove_tb6612fng::GroveMotorDriveTB6612FNG", + "type": "use_id" + } + } + }, + "docs": "Set the board to be on standby when is not used for a long time which reduces power consumptions and any jerking motion when stationary\n\n*See also: [`grove_tb6612fng.standby` Action](https://esphome.io/components/grove_tb6612fng.html#grove-tb6612fng-standby-action)*" + }, + "no_standby": { + "type": "schema", + "schema": { + "config_vars": { + "id": { + "key": "Required", + "use_id_type": "grove_tb6612fng::GroveMotorDriveTB6612FNG", + "type": "use_id" + } + } + }, + "docs": "Set the board to be awake, every esphome is restarted the default mode is set to standby to ensure the motor wont spin accidentally\n\n*See also: [`grove_tb6612fng.no_standby` Action](https://esphome.io/components/grove_tb6612fng.html#grove-tb6612fng-no-standby-action)*" + } + } + } +} \ No newline at end of file diff --git a/schema/haier.json b/schema/haier.json index cf67b22a..26be9f2a 100644 --- a/schema/haier.json +++ b/schema/haier.json @@ -88,12 +88,14 @@ "wifi_signal": { "key": "Optional", "default": "True", - "type": "boolean" + "type": "boolean", + "docs": "**boolean**: If true - send wifi signal level to AC. Supported only by hOn protocol.\n\n*See also: [Haier Climate](https://esphome.io/components/climate/haier.html#configuration-variables)*" }, "beeper": { "key": "Optional", "default": "True", - "type": "boolean" + "type": "boolean", + "docs": "**boolean**: Can be used to disable beeping on commands from AC. Supported only by hOn protocol.\n\n*See also: [Haier Climate](https://esphome.io/components/climate/haier.html#configuration-variables)*" }, "outdoor_temperature": { "key": "Optional", @@ -119,12 +121,14 @@ "default": "measurement" } } - } + }, + "docs": "Temperature sensor for outdoor temperature. Supported only by hOn protocol.\n * **name** (**Required**, string): The name of the sensor.\n \n * **id** (*Optional*, [ID](https://esphome.io/guides/configuration-types.html#config-id)): ID of the sensor, can be used for code generation\n \n * All other options from [Sensor](https://esphome.io/components/sensor/index.html#config-sensor).\n \n \n\n*See also: [Haier Climate](https://esphome.io/components/climate/haier.html#configuration-variables)*" } } } }, - "typed_key": "protocol" + "typed_key": "protocol", + "docs": "**string**: Defines protocol of communication with AC. Possible values: hon or smartair2. Default value is smartair2.\n\n*See also: [Haier Climate](https://esphome.io/components/climate/haier.html#configuration-variables)*" }, "HAIER_BASE_ACTION_SCHEMA": { "type": "schema", @@ -160,7 +164,8 @@ "extends": [ "haier.climate.HAIER_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "This action turns the AC display off\n\n*See also: [climate.haier.display_off Action](https://esphome.io/components/climate/haier.html#climate-haier-display-off-action)*" }, "display_on": { "type": "schema", @@ -168,7 +173,8 @@ "extends": [ "haier.climate.HAIER_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "This action turns the AC display on\n\n*See also: [climate.haier.display_on Action](https://esphome.io/components/climate/haier.html#climate-haier-display-on-action)*" }, "beeper_off": { "type": "schema", @@ -176,7 +182,8 @@ "extends": [ "haier.climate.HAIER_HON_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "(supported only by hOn) This action disables beep feedback on every command sent to AC (keep in mind that this will not work for IR remote commands)\n\n*See also: [climate.haier.beeper_off Action](https://esphome.io/components/climate/haier.html#climate-haier-beeper-off-action)*" }, "beeper_on": { "type": "schema", @@ -184,7 +191,8 @@ "extends": [ "haier.climate.HAIER_HON_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "(supported only by hOn) This action enables beep feedback on every command sent to AC\n\n*See also: [climate.haier.beeper_on Action](https://esphome.io/components/climate/haier.html#climate-haier-beeper-on-action)*" }, "start_steri_cleaning": { "type": "schema", @@ -192,7 +200,8 @@ "extends": [ "haier.climate.HAIER_HON_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "(supported only by hOn) Start 56\u00b0C steri-cleaning\n\n*See also: [climate.haier.start_steri_cleaning Action](https://esphome.io/components/climate/haier.html#climate-haier-start-steri-cleaning-action)*" }, "start_self_cleaning": { "type": "schema", @@ -200,7 +209,8 @@ "extends": [ "haier.climate.HAIER_HON_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "(supported only by hOn) Start [self-cleaning](https://www.haier.com/in/blogs/beat-the-summer-heat-with-haier-self-cleaning-ac.shtml)\n\n*See also: [climate.haier.start_self_cleaning Action](https://esphome.io/components/climate/haier.html#climate-haier-start-self-cleaning-action)*" }, "set_vertical_airflow": { "type": "schema", @@ -222,7 +232,8 @@ } } } - } + }, + "docs": "(supported only by hOn) Set direction for vertical airflow if the vertical swing is disabled. Possible values: Health_Up, Max_Up, Up, Center, Down, Health_Down.\n\n*See also: [climate.haier.set_vertical_airflow Action](https://esphome.io/components/climate/haier.html#climate-haier-set-vertical-airflow-action)*" }, "set_horizontal_airflow": { "type": "schema", @@ -244,7 +255,8 @@ } } } - } + }, + "docs": "(supported only by hOn) Set direction for horizontal airflow if the horizontal swing is disabled. Possible values: Max_Left, Left, Center, Right, Max_Right.\n\n*See also: [climate.haier.set_horizontal_airflow Action](https://esphome.io/components/climate/haier.html#climate-haier-set-horizontal-airflow-action)*" }, "health_off": { "type": "schema", @@ -252,7 +264,8 @@ "extends": [ "haier.climate.HAIER_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "Turn off health mode\n\n*See also: [climate.haier.health_off Action](https://esphome.io/components/climate/haier.html#climate-haier-health-off-action)*" }, "health_on": { "type": "schema", @@ -260,7 +273,8 @@ "extends": [ "haier.climate.HAIER_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "Turn on health mode ([UV light sterilization](https://www.haierhvac.eu/en/node/1809))\n\n*See also: [climate.haier.health_on Action](https://esphome.io/components/climate/haier.html#climate-haier-health-on-action)*" }, "power_toggle": { "type": "schema", @@ -268,7 +282,8 @@ "extends": [ "haier.climate.HAIER_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "This action toggles AC power\n\n*See also: [climate.haier.power_toggle Action](https://esphome.io/components/climate/haier.html#climate-haier-power-toggle-action)*" }, "power_off": { "type": "schema", @@ -276,7 +291,8 @@ "extends": [ "haier.climate.HAIER_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "This action turns AC power off\n\n*See also: [climate.haier.power_off Action](https://esphome.io/components/climate/haier.html#climate-haier-power-off-action)*" }, "power_on": { "type": "schema", @@ -284,7 +300,8 @@ "extends": [ "haier.climate.HAIER_BASE_ACTION_SCHEMA" ] - } + }, + "docs": "This action turns AC power on.\n\n*See also: [climate.haier.power_on Action](https://esphome.io/components/climate/haier.html#climate-haier-power-on-action)*" } } } diff --git a/schema/ili9xxx.json b/schema/ili9xxx.json index 6b427e49..a94555f2 100644 --- a/schema/ili9xxx.json +++ b/schema/ili9xxx.json @@ -35,11 +35,12 @@ "ILI9481": null, "ILI9486": null, "ILI9488": null, + "ILI9488_A": null, "ST7796": null, "S3BOX": null, "S3BOX_LITE": null }, - "docs": "The model of the display. Options are:\n * `M5STACK`, `TFT 2.4`, `TFT 2.4R`, `S3BOX`, `S3BOX_LITE`\n \n * `ILI9341`, `ILI9342`, `ILI9481`, `ILI9486`, `ILI9488`, `ST7796`\n \n \n\n*See also: [ILI9xxx TFT LCD Series](https://esphome.io/components/display/ili9xxx.html#configuration-variables)*" + "docs": "The model of the display. Options are:\n * `M5STACK`, `TFT 2.4`, `TFT 2.4R`, `S3BOX`, `S3BOX_LITE`\n \n * `ILI9341`, `ILI9342`, `ILI9481`, `ILI9486`, `ILI9488`, `ILI9488_A` (alternative gamma configuration for ILI9488), `ST7796`\n \n \n\n*See also: [ILI9xxx TFT LCD Series](https://esphome.io/components/display/ili9xxx.html#configuration-variables)*" }, "dimensions": { "key": "Optional", @@ -87,6 +88,24 @@ "is_list": true, "docs": "A list of image files that will be used to generate the color pallet for the display. This should only be used in conjunction with `-color_palette: IMAGE_ADAPTIVE` above. The images will be analysed at compile time and a custom color pallet will be created based on the most commonly occuring colors. A typical setting would be a sample image that represented the fully populated display. This can significantly improve the quality of displayed images. Note that these images are not stored on the ESP device, just the 256byte color pallet created from them.\n\n*See also: [ILI9xxx TFT LCD Series](https://esphome.io/components/display/ili9xxx.html#configuration-variables)*" }, + "data_rate": { + "key": "Optional", + "default": "40MHz", + "type": "enum", + "values": { + "80000000.0": null, + "40000000.0": null, + "20000000.0": null, + "10000000.0": null, + "5000000.0": null, + "2000000.0": null, + "1000000.0": null, + "200000.0": null, + "75000.0": null, + "1000.0": null + }, + "docs": "Set the data rate of the SPI interface to the display. One of `80MHz`, `40MHz` (default), `20MHz`, `10MHz`, `5MHz`, `2MHz`, `1MHz`, `200kHz`, `75kHz` or `1kHz`. If you have multiple ILI9xxx displays they must all use the same **data_rate**.\n\n*See also: [ILI9xxx TFT LCD Series](https://esphome.io/components/display/ili9xxx.html#configuration-variables)*" + }, "update_interval": { "key": "Optional", "default": "1s", diff --git a/schema/image.json b/schema/image.json index 0a710054..1acaee16 100644 --- a/schema/image.json +++ b/schema/image.json @@ -8,7 +8,7 @@ "id": { "key": "Required", "id_type": { - "class": "display::Image", + "class": "image::Image", "parents": [] }, "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: The ID with which you will be able to reference the image later in your display code.\n\n*See also: [Images](https://esphome.io/components/display/index.html#images)*" diff --git a/schema/logger.json b/schema/logger.json index 5d59e19e..7e69b761 100644 --- a/schema/logger.json +++ b/schema/logger.json @@ -264,6 +264,18 @@ "VERY_VERBOSE": null } }, + "airthings_wave_base": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, "airthings_wave_mini": { "type": "enum", "values": { @@ -300,6 +312,18 @@ "VERY_VERBOSE": null } }, + "alpha3": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, "am2320": { "type": "enum", "values": { @@ -480,6 +504,18 @@ "VERY_VERBOSE": null } }, + "atm90e26": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, "atm90e32": { "type": "enum", "values": { @@ -1440,6 +1476,18 @@ "VERY_VERBOSE": null } }, + "duty_time_sensor": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, "e131": { "type": "enum", "values": { @@ -1884,6 +1932,18 @@ "VERY_VERBOSE": null } }, + "font": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, "fs3000": { "type": "enum", "values": { @@ -2004,6 +2064,18 @@ "VERY_VERBOSE": null } }, + "GroveMotorDriveTB6612FNG": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, "growatt_solar": { "type": "enum", "values": { @@ -3888,6 +3960,18 @@ "VERY_VERBOSE": null } }, + "PCF8563": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, "pcf8574": { "type": "enum", "values": { @@ -6072,6 +6156,30 @@ "VERY_VERBOSE": null } }, + "tt21100.binary_sensor": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, + "tt21100": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, "ttp229_bsf": { "type": "enum", "values": { @@ -6516,6 +6624,18 @@ "VERY_VERBOSE": null } }, + "web_server_idf": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, "whirlpool.climate": { "type": "enum", "values": { @@ -6924,6 +7044,18 @@ "VERY_VERBOSE": null } }, + "zio_ultrasonic": { + "type": "enum", + "values": { + "NONE": null, + "ERROR": null, + "WARN": null, + "INFO": null, + "DEBUG": null, + "VERBOSE": null, + "VERY_VERBOSE": null + } + }, "zyaura": { "type": "enum", "values": { diff --git a/schema/mcp2515.json b/schema/mcp2515.json index df8923a8..4b93feba 100644 --- a/schema/mcp2515.json +++ b/schema/mcp2515.json @@ -24,10 +24,11 @@ "type": "enum", "values": { "8MHZ": null, + "12MHZ": null, "16MHZ": null, "20MHZ": null }, - "docs": "One of `8MHZ`, `16MHZ` or `20MHZ`. Clock crystal used on the MCP2515 device. Defaults to `8MHZ`.\n\n*See also: [MCP2515 Component](https://esphome.io/components/canbus.html#id3)*" + "docs": "One of `8MHZ`, `12MHz`, `16MHZ` or `20MHZ`. Clock crystal used on the MCP2515 device. Defaults to `8MHZ`.\n\n*See also: [MCP2515 Component](https://esphome.io/components/canbus.html#id3)*" }, "mode": { "key": "Optional", diff --git a/schema/pcf8563.json b/schema/pcf8563.json new file mode 100644 index 00000000..f99d0ef7 --- /dev/null +++ b/schema/pcf8563.json @@ -0,0 +1,70 @@ +{ + "pcf8563.time": { + "schemas": { + "CONFIG_SCHEMA": { + "type": "schema", + "schema": { + "extends": [ + "time.TIME_SCHEMA" + ], + "config_vars": { + "id": { + "key": "GeneratedID", + "id_type": { + "class": "pcf8563::PCF8563Component", + "parents": [ + "time::RealTimeClock", + "PollingComponent", + "Component", + "i2c::I2CDevice" + ] + } + }, + "i2c_id": { + "key": "GeneratedID", + "use_id_type": "i2c::I2CBus", + "type": "use_id" + }, + "address": { + "key": "Optional", + "default": "163", + "data_type": "hex_uint8_t" + } + } + } + } + } + }, + "pcf8563": { + "action": { + "write_time": { + "type": "schema", + "maybe": "id", + "schema": { + "config_vars": { + "id": { + "key": "GeneratedID", + "use_id_type": "pcf8563::PCF8563Component", + "type": "use_id" + } + } + }, + "docs": "This [Action](https://esphome.io/guides/automations.html#config-action) triggers a synchronization of the current system time to the RTC hardware.\n\n*See also: [`pcf8563.write_time` Action](https://esphome.io/components/time/pcf8563.html#pcf8563-write-time-action)*" + }, + "read_time": { + "type": "schema", + "maybe": "id", + "schema": { + "config_vars": { + "id": { + "key": "GeneratedID", + "use_id_type": "pcf8563::PCF8563Component", + "type": "use_id" + } + } + }, + "docs": "This [Action](https://esphome.io/guides/automations.html#config-action) triggers a synchronization of the current system time from the RTC hardware.\n\n*See also: [`pcf8563.read_time` Action](https://esphome.io/components/time/pcf8563.html#pcf8563-read-time-action)*" + } + } + } +} \ No newline at end of file diff --git a/schema/prometheus.json b/schema/prometheus.json index f734c59b..e59c0a1c 100644 --- a/schema/prometheus.json +++ b/schema/prometheus.json @@ -29,7 +29,7 @@ "relabel": { "key": "String", "default": "{}", - "key_type": ".validator at 0x00000222243F3D80>", + "key_type": ".validator at 0x000002670C361DA0>", "type": "schema", "schema": { "config_vars": { diff --git a/schema/remote_transmitter.json b/schema/remote_transmitter.json index d8ee017d..ee6a6c89 100644 --- a/schema/remote_transmitter.json +++ b/schema/remote_transmitter.json @@ -27,7 +27,7 @@ }, "carrier_duty_percent": { "key": "Required", - "docs": "**int**: How much of the time the remote is on. For example, infrared protocols modulate the signal using a carrier signal. Set this is `50%` if you\u2019re working with IR LEDs and to `100%` if working with other things like 433MHz transmitters.\n\n*See also: [Remote Transmitter](https://esphome.io/components/remote_transmitter.html#configuration-variables)*" + "docs": "**int**: How much of the time the remote is on. For example, infrared protocols modulate the signal using a carrier signal. Set this to `50%` if you\u2019re working with IR LEDs and to `100%` if working with other things like 433MHz transmitters.\n\n*See also: [Remote Transmitter](https://esphome.io/components/remote_transmitter.html#configuration-variables)*" } }, "extends": [ diff --git a/schema/script.json b/schema/script.json index 97c7ba14..1370ec59 100644 --- a/schema/script.json +++ b/schema/script.json @@ -72,7 +72,7 @@ "use_id_type": "script::Script", "type": "use_id" }, - "": { + "": { "key": "Optional", "templatable": true } diff --git a/schema/sensor.json b/schema/sensor.json index dc4df0fa..37bd5465 100644 --- a/schema/sensor.json +++ b/schema/sensor.json @@ -43,6 +43,9 @@ ], "docs": "AirThings Wave Plus tracks radon (24h and long term), airborne chemicals, CO2, temperature, atmospheric pressure and humidity.\n\n*See also: [Airthings Wave Plus Sensor](https://esphome.io/components/sensor/airthings_ble.html#airthings-wave-plus-sensor)*" }, + "alpha3": { + "docs": "The `alpha3` component allows you to monitor a Grundfos Alpha3 Model B circulator pump over BLE.\n\n*See also: [Grundfos Alpha3](https://esphome.io/components/sensor/alpha3.html#grundfos-alpha3)*" + }, "am2320": { "dependencies": [ "i2c" @@ -75,6 +78,9 @@ "esp32_ble_tracker" ] }, + "atm90e26": { + "docs": "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.\n\n*See also: [ATM90E26 Power Sensor](https://esphome.io/components/sensor/atm90e26.html#atm90e26-power-sensor)*" + }, "atm90e32": { "docs": "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.\n\n*See also: [ATM90E32 Power Sensor](https://esphome.io/components/sensor/atm90e32.html#atm90e32-power-sensor)*" }, @@ -233,6 +239,9 @@ "duty_cycle": { "docs": "The duty cycle sensor allows you to measure for what percentage of time a signal on a GPIO pin is HIGH or LOW.\n\n*See also: [Duty Cycle Sensor](https://esphome.io/components/sensor/duty_cycle.html#duty-cycle-sensor)*" }, + "duty_time": { + "docs": "The `duty_time` sensor allows you to track the total duty time of the some object, for example, a light bulb, in seconds. Able to calculate the last turn-on time when an optional sensor `last_time` is included in the configuration.\n\n*See also: [Duty Time](https://esphome.io/components/sensor/duty_time.html#duty-time)*" + }, "ee895": { "dependencies": [ "i2c" @@ -913,6 +922,12 @@ "xiaomi_rtcgq02lm" ] }, + "zio_ultrasonic": { + "dependencies": [ + "i2c" + ], + "docs": "The Zio Ultrasonic Distance sensor allows you to use your compatible ([datasheet](https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf), [sparkfun](https://www.sparkfun.com/products/17777)) sensors with ESPHome.\n\n*See also: [Zio Ultrasonic Distance Sensor](https://esphome.io/components/sensor/zio_ultrasonic.html#zio-ultrasonic-distance-sensor)*" + }, "zyaura": { "docs": "The ZyAura CO2 & Temperature & Humidity sensor allows you to use your [ZGm05(3)(U)](http://www.zyaura.com/products/ZGm05.asp) ([MT8057](https://masterkit.ru/shop/1266110), [MT8057S](https://medgadgets.ru/shop/kit-mt8057.html)), [ZG1683R(U)](http://www.zyaura.com/products/ZG1683R.asp) ([MT8060](https://masterkit.ru/shop/1921398)), [ZG1583RUD](http://www.zyaura.com/products/ZG1583RUD.asp) monitors with ESPHome.\n\n*See also: [ZyAura CO2 & Temperature & Humidity Sensor](https://esphome.io/components/sensor/zyaura.html#zyaura-co2-temperature-humidity-sensor)*" } @@ -1421,6 +1436,15 @@ }, "docs": "Send the value periodically with the specified time interval. If the sensor value changes during the interval the interval will not reset. The last value of the sensor will be sent.\n\n*See also: [`heartbeat`](https://esphome.io/components/sensor/index.html#heartbeat)*" }, + "timeout": { + "type": "schema", + "schema": { + "extends": [ + "core.positive_time_period_milliseconds" + ] + }, + "docs": "After the first value has been sent, if no subsequent value is published within the `specified time period`, send `NaN`. Especially useful when data is derived from some other communication channel, e.g. a serial port, which can potentially be interrupted.\n\n*See also: [`timeout`](https://esphome.io/components/sensor/index.html#timeout)*" + }, "debounce": { "type": "schema", "schema": { diff --git a/schema/sgp30.json b/schema/sgp30.json index f159e9a7..cac2e17c 100644 --- a/schema/sgp30.json +++ b/schema/sgp30.json @@ -62,7 +62,7 @@ "default": "0" }, "device_class": { - "default": "volatile_organic_compounds" + "default": "volatile_organic_compounds_parts" }, "state_class": { "default": "measurement" diff --git a/schema/speaker.json b/schema/speaker.json index 98d4a963..cd32c23b 100644 --- a/schema/speaker.json +++ b/schema/speaker.json @@ -18,7 +18,7 @@ "key": "GeneratedID", "use_id_type": "speaker::Speaker", "type": "use_id", - "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: The speaker to check. Defaults to the only one in YAML.\n\n*See also: [Speaker Components](https://esphome.io/components/speaker/index.html#speaker-conditions)*" + "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: The speaker to check. Defaults to the only one in YAML.\n\n*See also: [Speaker Components](https://esphome.io/components/speaker/index.html#speaker-is-playing-condition)*" } } } diff --git a/schema/template.json b/schema/template.json index d384427c..3494c53c 100644 --- a/schema/template.json +++ b/schema/template.json @@ -722,12 +722,6 @@ "key": "Optional", "type": "trigger", "docs": "**[Action](https://esphome.io/guides/automations.html#config-action)**: The action that should be performed when the remote (like Home Assistant\u2019s frontend) requests the switch to be turned on.\n\n*See also: [Template Switch](https://esphome.io/components/switch/template.html#configuration-variables)*" - }, - "restore_state": { - "key": "Optional", - "default": "False", - "type": "boolean", - "docs": "**boolean**: Sets whether ESPHome should attempt to restore the state on boot-up and call the turn on/off actions with the recovered values. Defaults to `no`.\n\n*See also: [Template Switch](https://esphome.io/components/switch/template.html#configuration-variables)*" } } } diff --git a/schema/time.json b/schema/time.json index b6480efa..28459ab3 100644 --- a/schema/time.json +++ b/schema/time.json @@ -25,6 +25,12 @@ ], "docs": "You first need to set up the [I2C](https://esphome.io/components/i2c.html) component.\n\n*See also: [PCF85063 Time Source](https://esphome.io/components/time/pcf85063.html#pcf85063-time-source)*" }, + "pcf8563": { + "dependencies": [ + "i2c" + ], + "docs": "You first need to set up the [I2C](https://esphome.io/components/i2c.html) component.\n\n*See also: [PCF8563 Time Source](https://esphome.io/components/time/pcf8563.html#pcf8563-time-source)*" + }, "sntp": { "dependencies": [ "network" diff --git a/schema/touchscreen.json b/schema/touchscreen.json index 3b77a514..acfca0e3 100644 --- a/schema/touchscreen.json +++ b/schema/touchscreen.json @@ -13,6 +13,12 @@ ], "docs": "The `liygo_t5_47` touchscreen platform allows using the touchscreen controller for the Lilygo T5 4.7\u201d e-Paper Display with ESPHome. The [I\u00b2C](https://esphome.io/components/i2c.html#i2c) is required to be set up in your configuration for this touchscreen to work.\n\n*See also: [Lilygo T5 4.7\u201d Touchscreen](https://esphome.io/components/touchscreen/lilygo_t5_47.html#lilygo-t5-4-7-touchscreen)*" }, + "tt21100": { + "dependencies": [ + "i2c" + ], + "docs": "The `tt21100` touchscreen platform allows using the touch screen controllers based on the TT21100 chip with ESPHome. The [I\u00b2C](https://esphome.io/components/i2c.html#i2c) is required to be set up in your configuration for this touchscreen to work.\n\n*See also: [TT21100 Touch Screen Controller](https://esphome.io/components/touchscreen/tt21100.html#tt21100-touch-screen-controller)*" + }, "xpt2046": { "dependencies": [ "spi" diff --git a/schema/tt21100.json b/schema/tt21100.json new file mode 100644 index 00000000..5191ba6c --- /dev/null +++ b/schema/tt21100.json @@ -0,0 +1,96 @@ +{ + "tt21100.binary_sensor": { + "schemas": { + "CONFIG_SCHEMA": { + "type": "schema", + "schema": { + "extends": [ + "binary_sensor.BINARY_SENSOR_SCHEMA" + ], + "config_vars": { + "id": { + "id_type": { + "class": "tt21100::TT21100Button", + "parents": [ + "binary_sensor::BinarySensor", + "EntityBase", + "Component", + "tt21100::TT21100ButtonListener", + "Parented", + "Parented" + ] + } + }, + "tt21100_id": { + "key": "GeneratedID", + "use_id_type": "tt21100::TT21100Touchscreen", + "type": "use_id", + "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: Manually specify the ID of the touchscreen.\n\n*See also: [tt21100 Binary Sensor](https://esphome.io/components/touchscreen/tt21100.html#id1)*" + }, + "index": { + "key": "Required", + "type": "integer", + "docs": "**int**: Internal index of the touch button, between 0 and 3.\n\n*See also: [tt21100 Binary Sensor](https://esphome.io/components/touchscreen/tt21100.html#id1)*" + } + } + } + } + } + }, + "tt21100.touchscreen": { + "schemas": { + "CONFIG_SCHEMA": { + "type": "schema", + "schema": { + "extends": [ + "touchscreen.TOUCHSCREEN_SCHEMA", + "core.COMPONENT_SCHEMA" + ], + "config_vars": { + "id": { + "key": "GeneratedID", + "id_type": { + "class": "tt21100::TT21100Touchscreen", + "parents": [ + "touchscreen::Touchscreen", + "Component", + "i2c::I2CDevice" + ] + }, + "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: Manually set the ID of this touchscreen.\n\n*See also: [TT21100 Touch Screen Controller](https://esphome.io/components/touchscreen/tt21100.html#configuration-variables)*" + }, + "interrupt_pin": { + "key": "Required", + "schema": true, + "internal": true, + "modes": [ + "input" + ], + "type": "pin", + "docs": "**[Pin Schema](https://esphome.io/guides/configuration-types.html#config-pin-schema)**: The touch detection pin.\n\n*See also: [TT21100 Touch Screen Controller](https://esphome.io/components/touchscreen/tt21100.html#configuration-variables)*" + }, + "reset_pin": { + "key": "Optional", + "schema": true, + "modes": [ + "output" + ], + "type": "pin", + "docs": "**[Pin Schema](https://esphome.io/guides/configuration-types.html#config-pin-schema)**: The reset pin of the controller.\n\n*See also: [TT21100 Touch Screen Controller](https://esphome.io/components/touchscreen/tt21100.html#configuration-variables)*" + }, + "i2c_id": { + "key": "GeneratedID", + "use_id_type": "i2c::I2CBus", + "type": "use_id" + }, + "address": { + "key": "Optional", + "default": "36", + "data_type": "hex_uint8_t" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/schema/waveshare_epaper.json b/schema/waveshare_epaper.json index 50892408..b7fe1270 100644 --- a/schema/waveshare_epaper.json +++ b/schema/waveshare_epaper.json @@ -85,9 +85,12 @@ }, "2.13in-ttgo-dke": { "docs": "T5_V2.3 with DKE group display (DEPG0213BN) tested" + }, + "1.54in-m5coreink-m09": { + "docs": "GoodDisplay gdew0154m09, as used in the M5Stack Core Ink" } }, - "docs": "The model of the E-Paper display. Options are:\n * `1.54in`\n \n * `1.54inv2`\n \n * `2.13in` - not tested\n \n * `2.13in-ttgo` - T5_V2.3 tested. Also works for Wemos D1 Mini ePaper Shield 2.13 1.0.0 \u201cLOLIN\u201d\n \n * `2.13in-ttgo-b73` - T5_V2.3 with B73 display tested\n \n * `2.13in-ttgo-b74` - T5_V2.3.1 with B74 display tested\n \n * `2.13in-ttgo-b1` - T5_V2.3 with B1 display tested\n \n * `2.13in-ttgo-dke` - T5_V2.3 with DKE group display (DEPG0213BN) tested\n \n * `2.70in` - currently not working with the HAT Rev 2.1 version\n \n * `2.90in`\n \n * `2.90inv2`\n \n * `2.90in-b` - B/W rendering only\n \n * `4.20in`\n \n * `4.20in-bV2` - B/W rendering only\n \n * `5.83in`\n \n * `5.83inv2`\n \n * `7.50in`\n \n * `7.50in-bV2` - also supports v3, B/W rendering only\n \n * `7.50in-bc` - display with version sticker \u2018(C)\u2019 on the back, B/W rendering only\n \n * `7.50inV2` - Can\u2019t use with an ESP8266 as it runs out of RAM\n \n * `7.50inV2alt` (alternative version to the above `7.50inV2`)\n \n * `7.50in-hd-b` - Can\u2019t use with an ESP8266 as it runs out of RAM\n \n * `gdey029t94` - GooDisplay GDEY029T94, as used on the AdaFruit MagTag\n \n \n\n*See also: [Waveshare E-Paper Display](https://esphome.io/components/display/waveshare_epaper.html#configuration-variables)*" + "docs": "The model of the E-Paper display. Options are:\n * `1.54in`\n \n * `1.54inv2`\n \n * `2.13in` - not tested\n \n * `2.13in-ttgo` - T5_V2.3 tested. Also works for Wemos D1 Mini ePaper Shield 2.13 1.0.0 \u201cLOLIN\u201d\n \n * `2.13in-ttgo-b73` - T5_V2.3 with B73 display tested\n \n * `2.13in-ttgo-b74` - T5_V2.3.1 with B74 display tested\n \n * `2.13in-ttgo-b1` - T5_V2.3 with B1 display tested\n \n * `2.13in-ttgo-dke` - T5_V2.3 with DKE group display (DEPG0213BN) tested\n \n * `2.70in` - currently not working with the HAT Rev 2.1 version\n \n * `2.90in`\n \n * `2.90inv2`\n \n * `2.90in-b` - B/W rendering only\n \n * `4.20in`\n \n * `4.20in-bV2` - B/W rendering only\n \n * `5.83in`\n \n * `5.83inv2`\n \n * `7.50in`\n \n * `7.50in-bV2` - also supports v3, B/W rendering only\n \n * `7.50in-bc` - display with version sticker \u2018(C)\u2019 on the back, B/W rendering only\n \n * `7.50inV2` - Can\u2019t use with an ESP8266 as it runs out of RAM\n \n * `7.50inV2alt` (alternative version to the above `7.50inV2`)\n \n * `7.50in-hd-b` - Can\u2019t use with an ESP8266 as it runs out of RAM\n \n * `gdey029t94` - GooDisplay GDEY029T94, as used on the AdaFruit MagTag\n \n * `1.54in-m5coreink-m09` - GoodDisplay gdew0154m09, as used in the M5Stack Core Ink\n \n \n\n*See also: [Waveshare E-Paper Display](https://esphome.io/components/display/waveshare_epaper.html#configuration-variables)*" }, "reset_pin": { "key": "Optional", diff --git a/schema/web_server.json b/schema/web_server.json index 05375583..ddf65120 100644 --- a/schema/web_server.json +++ b/schema/web_server.json @@ -87,6 +87,11 @@ "type": "boolean", "docs": "**boolean**: Turn on or off the OTA feature inside webserver. Strongly not suggested without enabled authentication settings. Defaults to `true`.\n\n*See also: [Web Server Component](https://esphome.io/components/web_server.html#configuration-variables)*" }, + "log": { + "key": "Optional", + "default": "True", + "type": "boolean" + }, "local": { "key": "Optional", "type": "boolean", diff --git a/schema/web_server_idf.json b/schema/web_server_idf.json new file mode 100644 index 00000000..c8f79171 --- /dev/null +++ b/schema/web_server_idf.json @@ -0,0 +1,7 @@ +{ + "web_server_idf": { + "schemas": { + "CONFIG_SCHEMA": {} + } + } +} \ No newline at end of file diff --git a/schema/xl9535.json b/schema/xl9535.json index 6f649a9c..f2591202 100644 --- a/schema/xl9535.json +++ b/schema/xl9535.json @@ -13,7 +13,8 @@ "Component", "i2c::I2CDevice" ] - } + }, + "docs": "**[ID](https://esphome.io/guides/configuration-types.html#config-id)**: The id to use for this `xl9535` component.\n\n*See also: [XL9535 I/O Expander](https://esphome.io/components/xl9535.html#configuration-variables)*" }, "i2c_id": { "key": "GeneratedID", @@ -23,7 +24,8 @@ "address": { "key": "Optional", "default": "32", - "data_type": "hex_uint8_t" + "data_type": "hex_uint8_t", + "docs": "**int**: The I\u00b2C address of the driver. Defaults to `0x20`.\n\n*See also: [XL9535 I/O Expander](https://esphome.io/components/xl9535.html#configuration-variables)*" } }, "extends": [ diff --git a/schema/zio_ultrasonic.json b/schema/zio_ultrasonic.json new file mode 100644 index 00000000..e9edaecb --- /dev/null +++ b/schema/zio_ultrasonic.json @@ -0,0 +1,57 @@ +{ + "zio_ultrasonic.sensor": { + "schemas": { + "CONFIG_SCHEMA": { + "type": "schema", + "schema": { + "extends": [ + "sensor.SENSOR_SCHEMA", + "core.COMPONENT_SCHEMA" + ], + "config_vars": { + "id": { + "id_type": { + "class": "zio_ultrasonic::ZioUltrasonicComponent", + "parents": [ + "PollingComponent", + "Component", + "i2c::I2CDevice", + "sensor::Sensor", + "EntityBase" + ] + } + }, + "unit_of_measurement": { + "default": "mm" + }, + "accuracy_decimals": { + "default": "0" + }, + "device_class": { + "default": "distance" + }, + "state_class": { + "default": "measurement" + }, + "update_interval": { + "key": "Optional", + "default": "60s", + "docs": "**[Time](https://esphome.io/guides/configuration-types.html#config-time)**: The interval to check the sensor. Defaults to `60s`.\n\n*See also: [Zio Ultrasonic Distance Sensor](https://esphome.io/components/sensor/zio_ultrasonic.html#configuration-variables)*" + }, + "i2c_id": { + "key": "GeneratedID", + "use_id_type": "i2c::I2CBus", + "type": "use_id" + }, + "address": { + "key": "Optional", + "default": "0", + "data_type": "hex_uint8_t", + "docs": "**int**: Manually specifiy the I\u00b2C address of the sensor. Defaults to `0x00`.\n\n*See also: [Zio Ultrasonic Distance Sensor](https://esphome.io/components/sensor/zio_ultrasonic.html#configuration-variables)*" + } + } + } + } + } + } +} \ No newline at end of file