diff --git a/.editorconfig b/.editorconfig index f24d70487a..29cbb1e32f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -25,3 +25,4 @@ indent_size = 2 [*.{yaml,yml}] indent_style = space indent_size = 2 +quote_type = single \ No newline at end of file diff --git a/tests/test1.yaml b/tests/test1.yaml index 5dcdf25176..244062bc9b 100644 --- a/tests/test1.yaml +++ b/tests/test1.yaml @@ -34,12 +34,12 @@ packages: wifi: networks: - - ssid: 'MySSID' - password: 'password1' - - ssid: 'MySSID2' - password: '' - channel: 14 - bssid: 'A1:63:95:47:D3:1D' + - ssid: 'MySSID' + password: 'password1' + - ssid: 'MySSID2' + password: '' + channel: 14 + bssid: 'A1:63:95:47:D3:1D' manual_ip: static_ip: 192.168.178.230 gateway: 192.168.178.1 @@ -80,47 +80,47 @@ mqtt: ESP_LOGD("main", "Got message %s", x.c_str()); - topic: livingroom/ota_mode then: - - deep_sleep.prevent + - deep_sleep.prevent - topic: livingroom/ota_mode then: - - deep_sleep.enter: + - deep_sleep.enter: on_json_message: topic: the/topic then: - - if: - condition: - - wifi.connected: - - mqtt.connected: - - light.is_on: kitchen - - light.is_off: kitchen - then: - - lambda: |- - int data = x["my_data"]; - ESP_LOGD("main", "The data is: %d", data); - - light.turn_on: - id: living_room_lights - brightness: !lambda |- - float brightness = 1.0; - if (x.containsKey("brightness")) - brightness = x["brightness"]; - return brightness; - effect: !lambda |- - const char *effect = "None"; - if (x.containsKey("effect")) - effect = x["effect"]; - return effect; - - light.control: - id: living_room_lights - brightness: !lambda 'return id(living_room_lights).current_values.get_brightness() + 0.5;' - - light.dim_relative: - id: living_room_lights - relative_brightness: 5% - - uart.write: - id: uart0 - data: Hello World - - uart.write: [0x00, 0x20, 0x30] - - uart.write: !lambda |- - return {}; + - if: + condition: + - wifi.connected: + - mqtt.connected: + - light.is_on: kitchen + - light.is_off: kitchen + then: + - lambda: |- + int data = x["my_data"]; + ESP_LOGD("main", "The data is: %d", data); + - light.turn_on: + id: living_room_lights + brightness: !lambda |- + float brightness = 1.0; + if (x.containsKey("brightness")) + brightness = x["brightness"]; + return brightness; + effect: !lambda |- + const char *effect = "None"; + if (x.containsKey("effect")) + effect = x["effect"]; + return effect; + - light.control: + id: living_room_lights + brightness: !lambda 'return id(living_room_lights).current_values.get_brightness() + 0.5;' + - light.dim_relative: + id: living_room_lights + relative_brightness: 5% + - uart.write: + id: uart0 + data: Hello World + - uart.write: [0x00, 0x20, 0x30] + - uart.write: !lambda |- + return {}; i2c: sda: 21 @@ -198,11 +198,11 @@ adalight: sensor: - platform: adc pin: A0 - name: "Living Room Brightness" + name: 'Living Room Brightness' update_interval: '1:01' attenuation: 2.5db - unit_of_measurement: "°C" - icon: "mdi:water-percent" + unit_of_measurement: '°C' + icon: 'mdi:water-percent' accuracy_decimals: 5 expire_after: 120s setup_priority: -100 @@ -211,9 +211,9 @@ sensor: - offset: 2.0 - multiply: 1.2 - calibrate_linear: - - 0.0 -> 0.0 - - 40.0 -> 45.0 - - 100.0 -> 102.5 + - 0.0 -> 0.0 + - 40.0 -> 45.0 + - 100.0 -> 102.5 - filter_out: 42.0 - filter_out: nan - median: @@ -232,8 +232,8 @@ sensor: - debounce: 0.1s - delta: 5.0 - or: - - throttle: 1s - - delta: 5.0 + - throttle: 1s + - delta: 5.0 - lambda: return x * (9.0/5.0) + 32.0; on_value: then: @@ -255,9 +255,9 @@ sensor: ESP_LOGD("main", "Got raw value %f", x); - logger.log: level: DEBUG - format: "Got raw value %f" + format: 'Got raw value %f' args: ['x'] - - logger.log: "Got raw value NAN" + - logger.log: 'Got raw value NAN' - mqtt.publish: topic: some/topic payload: Hello @@ -277,48 +277,48 @@ sensor: cs_pin: 5 phase_a: voltage: - name: "EMON Line Voltage A" + name: 'EMON Line Voltage A' current: - name: "EMON CT1 Current" + name: 'EMON CT1 Current' power: - name: "EMON Active Power CT1" + name: 'EMON Active Power CT1' reactive_power: - name: "EMON Reactive Power CT1" + name: 'EMON Reactive Power CT1' power_factor: - name: "EMON Power Factor CT1" + name: 'EMON Power Factor CT1' gain_voltage: 7305 gain_ct: 27961 phase_b: current: - name: "EMON CT2 Current" + name: 'EMON CT2 Current' power: - name: "EMON Active Power CT2" + name: 'EMON Active Power CT2' reactive_power: - name: "EMON Reactive Power CT2" + name: 'EMON Reactive Power CT2' power_factor: - name: "EMON Power Factor CT2" + name: 'EMON Power Factor CT2' gain_voltage: 7305 gain_ct: 27961 phase_c: current: - name: "EMON CT3 Current" + name: 'EMON CT3 Current' power: - name: "EMON Active Power CT3" + name: 'EMON Active Power CT3' reactive_power: - name: "EMON Reactive Power CT3" + name: 'EMON Reactive Power CT3' power_factor: - name: "EMON Power Factor CT3" + name: 'EMON Power Factor CT3' gain_voltage: 7305 gain_ct: 27961 frequency: - name: "EMON Line Frequency" + name: 'EMON Line Frequency' chip_temperature: - name: "EMON Chip Temp A" + name: 'EMON Chip Temp A' line_frequency: 60Hz current_phases: 3 gain_pga: 2X - platform: bh1750 - name: "Living Room Brightness 3" + name: 'Living Room Brightness 3' internal: true address: 0x23 resolution: 1.0 @@ -329,27 +329,27 @@ sensor: measurement_time: 31 - platform: bme280 temperature: - name: "Outside Temperature" + name: 'Outside Temperature' oversampling: 16x pressure: - name: "Outside Pressure" + name: 'Outside Pressure' oversampling: none humidity: - name: "Outside Humidity" + name: 'Outside Humidity' oversampling: 8x address: 0x77 iir_filter: 16x update_interval: 15s - platform: bme680 temperature: - name: "Outside Temperature" + name: 'Outside Temperature' oversampling: 16x pressure: - name: "Outside Pressure" + name: 'Outside Pressure' humidity: - name: "Outside Humidity" + name: 'Outside Humidity' gas_resistance: - name: "Outside Gas Sensor" + name: 'Outside Gas Sensor' address: 0x77 heater: temperature: 320 @@ -357,65 +357,65 @@ sensor: update_interval: 15s - platform: bmp085 temperature: - name: "Outside Temperature" + name: 'Outside Temperature' pressure: - name: "Outside Pressure" + name: 'Outside Pressure' filters: - lambda: >- return x / powf(1.0 - (x / 44330.0), 5.255); update_interval: 15s - platform: bmp280 temperature: - name: "Outside Temperature" + name: 'Outside Temperature' oversampling: 16x pressure: - name: "Outside Pressure" + name: 'Outside Pressure' address: 0x77 update_interval: 15s iir_filter: 16x - platform: dallas address: 0x1C0000031EDD2A28 - name: "Living Room Temperature" + name: 'Living Room Temperature' resolution: 9 - platform: dallas index: 1 - name: "Living Room Temperature 2" + name: 'Living Room Temperature 2' - platform: dht pin: GPIO26 temperature: - name: "Living Room Temperature 3" + name: 'Living Room Temperature 3' humidity: - name: "Living Room Humidity 3" + name: 'Living Room Humidity 3' model: AM2302 update_interval: 15s - platform: dht12 temperature: - name: "Living Room Temperature 4" + name: 'Living Room Temperature 4' humidity: - name: "Living Room Humidity 4" + name: 'Living Room Humidity 4' update_interval: 15s - platform: duty_cycle pin: GPIO25 name: Duty Cycle Sensor - platform: esp32_hall - name: "ESP32 Hall Sensor" + name: 'ESP32 Hall Sensor' update_interval: 15s - platform: hdc1080 temperature: - name: "Living Room Temperature 5" + name: 'Living Room Temperature 5' humidity: - name: "Living Room Pressure 5" + name: 'Living Room Pressure 5' update_interval: 15s - platform: hlw8012 sel_pin: 5 cf_pin: 14 cf1_pin: 13 current: - name: "HLW8012 Current" + name: 'HLW8012 Current' voltage: - name: "HLW8012 Voltage" + name: 'HLW8012 Voltage' power: - name: "HLW8012 Power" + name: 'HLW8012 Power' id: hlw8012_power update_interval: 15s current_resistor: 0.001 ohm @@ -424,39 +424,39 @@ sensor: initial_mode: VOLTAGE - platform: total_daily_energy power_id: hlw8012_power - name: "HLW8012 Total Daily Energy" + name: 'HLW8012 Total Daily Energy' - platform: integration sensor: hlw8012_power - name: "Integration Sensor" + name: 'Integration Sensor' time_unit: s - platform: hmc5883l address: 0x68 field_strength_x: - name: "HMC5883L Field Strength X" + name: 'HMC5883L Field Strength X' field_strength_y: - name: "HMC5883L Field Strength Y" + name: 'HMC5883L Field Strength Y' field_strength_z: - name: "HMC5883L Field Strength Z" + name: 'HMC5883L Field Strength Z' heading: - name: "HMC5883L Heading" + name: 'HMC5883L Heading' range: 130uT oversampling: 8x update_interval: 15s - platform: qmc5883l address: 0x0D field_strength_x: - name: "QMC5883L Field Strength X" + name: 'QMC5883L Field Strength X' field_strength_y: - name: "QMC5883L Field Strength Y" + name: 'QMC5883L Field Strength Y' field_strength_z: - name: "QMC5883L Field Strength Z" + name: 'QMC5883L Field Strength Z' heading: - name: "QMC5883L Heading" + name: 'QMC5883L Heading' range: 800uT oversampling: 256x update_interval: 15s - platform: hx711 - name: "HX711 Value" + name: 'HX711 Value' dout_pin: GPIO23 clk_pin: GPIO25 gain: 128 @@ -465,13 +465,13 @@ sensor: address: 0x40 shunt_resistance: 0.1 ohm current: - name: "INA219 Current" + name: 'INA219 Current' power: - name: "INA219 Power" + name: 'INA219 Power' bus_voltage: - name: "INA219 Bus Voltage" + name: 'INA219 Bus Voltage' shunt_voltage: - name: "INA219 Shunt Voltage" + name: 'INA219 Shunt Voltage' max_voltage: 32.0V max_current: 3.2A update_interval: 15s @@ -479,13 +479,13 @@ sensor: address: 0x40 shunt_resistance: 0.1 ohm current: - name: "INA226 Current" + name: 'INA226 Current' power: - name: "INA226 Power" + name: 'INA226 Power' bus_voltage: - name: "INA226 Bus Voltage" + name: 'INA226 Bus Voltage' shunt_voltage: - name: "INA226 Shunt Voltage" + name: 'INA226 Shunt Voltage' max_current: 3.2A update_interval: 15s - platform: ina3221 @@ -493,73 +493,73 @@ sensor: channel_1: shunt_resistance: 0.1 ohm current: - name: "INA3221 Channel 1 Current" + name: 'INA3221 Channel 1 Current' power: - name: "INA3221 Channel 1 Power" + name: 'INA3221 Channel 1 Power' bus_voltage: - name: "INA3221 Channel 1 Bus Voltage" + name: 'INA3221 Channel 1 Bus Voltage' shunt_voltage: - name: "INA3221 Channel 1 Shunt Voltage" + name: 'INA3221 Channel 1 Shunt Voltage' update_interval: 15s - platform: htu21d temperature: - name: "Living Room Temperature 6" + name: 'Living Room Temperature 6' humidity: - name: "Living Room Humidity 6" + name: 'Living Room Humidity 6' update_interval: 15s - platform: max6675 - name: "Living Room Temperature" + name: 'Living Room Temperature' cs_pin: GPIO23 update_interval: 15s - platform: max31855 - name: "Den Temperature" + name: 'Den Temperature' cs_pin: GPIO23 update_interval: 15s reference_temperature: - name: "MAX31855 Internal Temperature" + name: 'MAX31855 Internal Temperature' - platform: max31856 - name: "BBQ Temperature" + name: 'BBQ Temperature' cs_pin: GPIO17 update_interval: 15s mains_filter: 50Hz - platform: max31865 - name: "Water Tank Temperature" + name: 'Water Tank Temperature' cs_pin: GPIO23 update_interval: 15s - reference_resistance: "430 Ω" - rtd_nominal_resistance: "100 Ω" + reference_resistance: '430 Ω' + rtd_nominal_resistance: '100 Ω' - platform: mhz19 co2: - name: "MH-Z19 CO2 Value" + name: 'MH-Z19 CO2 Value' temperature: - name: "MH-Z19 Temperature" + name: 'MH-Z19 Temperature' update_interval: 15s automatic_baseline_calibration: false - platform: mpu6050 address: 0x68 accel_x: - name: "MPU6050 Accel X" + name: 'MPU6050 Accel X' accel_y: - name: "MPU6050 Accel Y" + name: 'MPU6050 Accel Y' accel_z: - name: "MPU6050 Accel z" + name: 'MPU6050 Accel z' gyro_x: - name: "MPU6050 Gyro X" + name: 'MPU6050 Gyro X' gyro_y: - name: "MPU6050 Gyro Y" + name: 'MPU6050 Gyro Y' gyro_z: - name: "MPU6050 Gyro z" + name: 'MPU6050 Gyro z' temperature: - name: "MPU6050 Temperature" + name: 'MPU6050 Temperature' - platform: ms5611 temperature: - name: "Outside Temperature" + name: 'Outside Temperature' pressure: - name: "Outside Pressure" + name: 'Outside Pressure' address: 0x77 update_interval: 15s - platform: pulse_counter - name: "Pulse Counter" + name: 'Pulse Counter' pin: GPIO12 count_mode: rising_edge: INCREMENT @@ -567,15 +567,15 @@ sensor: internal_filter: 13us update_interval: 15s - platform: rotary_encoder - name: "Rotary Encoder" + name: 'Rotary Encoder' id: rotary_encoder1 pin_a: GPIO23 pin_b: GPIO25 pin_reset: GPIO25 filters: - or: - - debounce: 0.1s - - delta: 10 + - debounce: 0.1s + - delta: 10 resolution: 4 min_value: -10 max_value: 30 @@ -587,33 +587,33 @@ sensor: id: rotary_encoder1 value: !lambda 'return -1;' on_clockwise: - - logger.log: "Clockwise" + - logger.log: 'Clockwise' on_anticlockwise: - - logger.log: "Anticlockwise" + - logger.log: 'Anticlockwise' - platform: pulse_width name: Pulse Width pin: GPIO12 - platform: senseair co2: - name: "SenseAir CO2 Value" + name: 'SenseAir CO2 Value' update_interval: 15s - platform: sht3xd temperature: - name: "Living Room Temperature 8" + name: 'Living Room Temperature 8' humidity: - name: "Living Room Humidity 8" + name: 'Living Room Humidity 8' address: 0x44 update_interval: 15s - platform: sts3x - name: "Living Room Temperature 9" + name: 'Living Room Temperature 9' address: 0x4A - platform: scd30 co2: - name: "Living Room CO2 9" + name: 'Living Room CO2 9' temperature: - name: "Living Room Temperature 9" + name: 'Living Room Temperature 9' humidity: - name: "Living Room Humidity 9" + name: 'Living Room Humidity 9' address: 0x61 update_interval: 15s automatic_self_calibration: true @@ -621,52 +621,52 @@ sensor: ambient_pressure_compensation: 961mBar - platform: sgp30 eco2: - name: "Workshop eCO2" + name: 'Workshop eCO2' accuracy_decimals: 1 tvoc: - name: "Workshop TVOC" + name: 'Workshop TVOC' accuracy_decimals: 1 address: 0x58 update_interval: 5s - platform: sps30 pm_1_0: - name: "Workshop PM <1µm Weight concentration" - id: "workshop_PM_1_0" + name: 'Workshop PM <1µm Weight concentration' + id: 'workshop_PM_1_0' pm_2_5: - name: "Workshop PM <2.5µm Weight concentration" - id: "workshop_PM_2_5" + name: 'Workshop PM <2.5µm Weight concentration' + id: 'workshop_PM_2_5' pm_4_0: - name: "Workshop PM <4µm Weight concentration" - id: "workshop_PM_4_0" + name: 'Workshop PM <4µm Weight concentration' + id: 'workshop_PM_4_0' pm_10_0: - name: "Workshop PM <10µm Weight concentration" - id: "workshop_PM_10_0" + name: 'Workshop PM <10µm Weight concentration' + id: 'workshop_PM_10_0' pmc_0_5: - name: "Workshop PM <0.5µm Number concentration" - id: "workshop_PMC_0_5" + name: 'Workshop PM <0.5µm Number concentration' + id: 'workshop_PMC_0_5' pmc_1_0: - name: "Workshop PM <1µm Number concentration" - id: "workshop_PMC_1_0" + name: 'Workshop PM <1µm Number concentration' + id: 'workshop_PMC_1_0' pmc_2_5: - name: "Workshop PM <2.5µm Number concentration" - id: "workshop_PMC_2_5" + name: 'Workshop PM <2.5µm Number concentration' + id: 'workshop_PMC_2_5' pmc_4_0: - name: "Workshop PM <4µm Number concentration" - id: "workshop_PMC_4_0" + name: 'Workshop PM <4µm Number concentration' + id: 'workshop_PMC_4_0' pmc_10_0: - name: "Workshop PM <10µm Number concentration" - id: "workshop_PMC_10_0" + name: 'Workshop PM <10µm Number concentration' + id: 'workshop_PMC_10_0' address: 0x69 update_interval: 10s - platform: shtcx temperature: - name: "Living Room Temperature 10" + name: 'Living Room Temperature 10' humidity: - name: "Living Room Humidity 10" + name: 'Living Room Humidity 10' address: 0x70 update_interval: 15s - platform: template - name: "Template Sensor" + name: 'Template Sensor' id: template_sensor lambda: |- if (id(ultrasonic_sensor1).state > 1) { @@ -683,7 +683,7 @@ sensor: id: template_sensor state: !lambda 'return NAN;' - platform: tsl2561 - name: "TSL2561 Ambient Light" + name: 'TSL2561 Ambient Light' address: 0x39 update_interval: 15s is_cs_package: true @@ -694,17 +694,17 @@ sensor: echo_pin: number: GPIO23 inverted: true - name: "Ultrasonic Sensor" + name: 'Ultrasonic Sensor' timeout: 5.5m id: ultrasonic_sensor1 - platform: uptime name: Uptime Sensor - platform: wifi_signal - name: "WiFi Signal Sensor" + name: 'WiFi Signal Sensor' update_interval: 15s - platform: mqtt_subscribe - name: "MQTT Subscribe Sensor 1" - topic: "mqtt/topic" + name: 'MQTT Subscribe Sensor 1' + topic: 'mqtt/topic' id: the_sensor qos: 2 on_value: @@ -715,9 +715,9 @@ sensor: root["greeting"] = "Hello World"; - platform: sds011 pm_2_5: - name: "SDS011 PM2.5" + name: 'SDS011 PM2.5' pm_10_0: - name: "SDS011 PM10.0" + name: 'SDS011 PM10.0' update_interval: 5min rx_only: false - platform: ccs811 @@ -729,9 +729,9 @@ sensor: baseline: 0x4242 - platform: tx20 wind_speed: - name: "Windspeed" + name: 'Windspeed' wind_direction_degrees: - name: "Winddirection Degrees" + name: 'Winddirection Degrees' pin: number: GPIO04 mode: INPUT @@ -739,55 +739,55 @@ sensor: clock_pin: GPIO5 data_pin: GPIO4 co2: - name: "ZyAura CO2" + name: 'ZyAura CO2' temperature: - name: "ZyAura Temperature" + name: 'ZyAura Temperature' humidity: - name: "ZyAura Humidity" + name: 'ZyAura Humidity' - platform: as3935 lightning_energy: - name: "Lightning Energy" + name: 'Lightning Energy' distance: - name: "Distance Storm" + name: 'Distance Storm' - platform: tmp117 - name: "TMP117 Temperature" + name: 'TMP117 Temperature' update_interval: 5s - platform: hm3301 pm_1_0: - name: "PM1.0" + name: 'PM1.0' pm_2_5: - name: "PM2.5" + name: 'PM2.5' pm_10_0: - name: "PM10.0" + name: 'PM10.0' aqi: - name: "AQI" - calculation_type: "CAQI" + name: 'AQI' + calculation_type: 'CAQI' - platform: teleinfo tags: - - tag_name: "HCHC" - sensor: - name: "hchc" - unit_of_measurement: "Wh" - icon: mdi:flash - - tag_name: "HCHP" - sensor: - name: "hchp" - unit_of_measurement: "Wh" - icon: mdi:flash - - tag_name: "PAPP" - sensor: - name: "papp" - unit_of_measurement: "VA" - icon: mdi:flash + - tag_name: 'HCHC' + sensor: + name: 'hchc' + unit_of_measurement: 'Wh' + icon: mdi:flash + - tag_name: 'HCHP' + sensor: + name: 'hchp' + unit_of_measurement: 'Wh' + icon: mdi:flash + - tag_name: 'PAPP' + sensor: + name: 'papp' + unit_of_measurement: 'VA' + icon: mdi:flash update_interval: 60s historical_mode: true - platform: mcp9808 - name: "MCP9808 Temperature" + name: 'MCP9808 Temperature' update_interval: 15s - platform: ezo id: ph_ezo address: 99 - unit_of_measurement: "pH" + unit_of_measurement: 'pH' esp32_touch: setup_mode: False @@ -801,7 +801,7 @@ esp32_touch: binary_sensor: - platform: gpio pin: GPIO9 - name: "Living Room Window" + name: 'Living Room Window' device_class: window filters: - invert: @@ -828,55 +828,55 @@ binary_sensor: - min_length: 50ms max_length: 350ms then: - - lambda: >- - ESP_LOGD("main", "Double Clicked"); + - lambda: >- + ESP_LOGD("main", "Double Clicked"); - then: - - lambda: >- - ESP_LOGD("main", "Double Clicked"); + - lambda: >- + ESP_LOGD("main", "Double Clicked"); on_multi_click: - - timing: - - ON for at most 1s - - OFF for at most 1s - - ON for at most 1s - - OFF for at least 0.2s - then: - - logger.log: - format: "Multi Clicked TWO" - level: warn - - timing: - - OFF for 1s to 2s - - ON for 1s to 2s - - OFF for at least 0.5s - then: - - logger.log: - format: "Multi Clicked LONG SINGLE" - level: warn - - timing: - - ON for at most 1s - - OFF for at least 0.5s - then: - - logger.log: - format: "Multi Clicked SINGLE" - level: warn + - timing: + - ON for at most 1s + - OFF for at most 1s + - ON for at most 1s + - OFF for at least 0.2s + then: + - logger.log: + format: 'Multi Clicked TWO' + level: warn + - timing: + - OFF for 1s to 2s + - ON for 1s to 2s + - OFF for at least 0.5s + then: + - logger.log: + format: 'Multi Clicked LONG SINGLE' + level: warn + - timing: + - ON for at most 1s + - OFF for at least 0.5s + then: + - logger.log: + format: 'Multi Clicked SINGLE' + level: warn id: binary_sensor1 - platform: gpio pin: number: GPIO9 mode: INPUT_PULLUP - name: "Living Room Window 2" + name: 'Living Room Window 2' - platform: status - name: "Living Room Status" + name: 'Living Room Status' - platform: esp32_touch - name: "ESP32 Touch Pad GPIO27" + name: 'ESP32 Touch Pad GPIO27' pin: GPIO27 threshold: 1000 id: btn_left - platform: nextion page_id: 0 component_id: 2 - name: "Nextion Component 2 Touch" + name: 'Nextion Component 2 Touch' - platform: template - name: "Garage Door Open" + name: 'Garage Door Open' id: garage_door lambda: |- if (isnan(id(my_sensor).state)) { @@ -903,33 +903,33 @@ binary_sensor: frequency: !lambda 'return 500.0;' - platform: pn532 uid: 74-10-37-94 - name: "PN532 NFC Tag" + name: 'PN532 NFC Tag' - platform: rdm6300 uid: 7616525 - name: "RDM6300 NFC Tag" + name: 'RDM6300 NFC Tag' - platform: gpio - name: "PCF binary sensor" + name: 'PCF binary sensor' pin: pcf8574: pcf8574_hub number: 1 mode: INPUT inverted: True - platform: gpio - name: "MCP21 binary sensor" + name: 'MCP21 binary sensor' pin: mcp23017: mcp23017_hub number: 1 mode: INPUT inverted: True - platform: gpio - name: "MCP22 binary sensor" + name: 'MCP22 binary sensor' pin: mcp23008: mcp23008_hub number: 7 mode: INPUT_PULLUP inverted: False - platform: gpio - name: "MCP23 binary sensor" + name: 'MCP23 binary sensor' pin: mcp23016: mcp23016_hub number: 7 @@ -937,14 +937,48 @@ binary_sensor: inverted: False - platform: remote_receiver - name: "Raw Remote Receiver Test" + name: 'Raw Remote Receiver Test' raw: - code: [5685, -4252, 1711, -2265, 1712, -2265, 1711, -2264, 1712, -2266, - 3700, -2263, 1712, -4254, 1711, -4249, 1715, -2266, 1710, -2267, - 1709, -2265, 3704, -4250, 1712, -4254, 3700, -2260, 1714, -2265, - 1712, -2262, 1714, -2267, 1709] + code: + [ + 5685, + -4252, + 1711, + -2265, + 1712, + -2265, + 1711, + -2264, + 1712, + -2266, + 3700, + -2263, + 1712, + -4254, + 1711, + -4249, + 1715, + -2266, + 1710, + -2267, + 1709, + -2265, + 3704, + -4250, + 1712, + -4254, + 3700, + -2260, + 1714, + -2265, + 1712, + -2262, + 1714, + -2267, + 1709, + ] - platform: as3935 - name: "Storm Alert" + name: 'Storm Alert' pca9685: frequency: 500 @@ -1099,12 +1133,12 @@ e131: light: - platform: binary - name: "Desk Lamp" + name: 'Desk Lamp' output: gpio_26 effects: - strobe: - strobe: - name: "My Strobe" + name: 'My Strobe' colors: - state: True duration: 250ms @@ -1119,7 +1153,7 @@ light: id: livingroom_lights state: yes - platform: monochromatic - name: "Kitchen Lights" + name: 'Kitchen Lights' id: kitchen output: gpio_19 gamma_correct: 2.8 @@ -1128,7 +1162,7 @@ light: - strobe: - flicker: - flicker: - name: "My Flicker" + name: 'My Flicker' alpha: 98% intensity: 1.5% - lambda: @@ -1140,20 +1174,20 @@ light: if (state == 4) state = 0; - platform: rgb - name: "Living Room Lights" + name: 'Living Room Lights' id: living_room_lights red: pca_0 green: pca_1 blue: pca_2 - platform: rgbw - name: "Living Room Lights 2" + name: 'Living Room Lights 2' red: pca_3 green: pca_4 blue: pca_5 white: pca_6 color_interlock: true - platform: rgbww - name: "Living Room Lights 2" + name: 'Living Room Lights 2' red: pca_3 green: pca_4 blue: pca_5 @@ -1163,7 +1197,7 @@ light: warm_white_color_temperature: 500 mireds color_interlock: true - platform: cwww - name: "Living Room Lights 2" + name: 'Living Room Lights 2' cold_white: pca_6 warm_white: pca_6 cold_white_color_temperature: 153 mireds @@ -1178,77 +1212,77 @@ light: max_refresh_rate: 20ms power_supply: atx_power_supply color_correct: [75%, 100%, 50%] - name: "FastLED WS2811 Light" + name: 'FastLED WS2811 Light' effects: - - addressable_color_wipe: - - addressable_color_wipe: - name: Color Wipe Effect With Custom Values - colors: - - red: 100% - green: 100% - blue: 100% - num_leds: 1 - - red: 0% - green: 0% - blue: 0% - num_leds: 1 - add_led_interval: 100ms - reverse: False - - addressable_scan: - - addressable_scan: - name: Scan Effect With Custom Values - move_interval: 100ms - - addressable_twinkle: - - addressable_twinkle: - name: Twinkle Effect With Custom Values - twinkle_probability: 5% - progress_interval: 4ms - - addressable_random_twinkle: - - addressable_random_twinkle: - name: Random Twinkle Effect With Custom Values - twinkle_probability: 5% - progress_interval: 32ms - - addressable_fireworks: - - addressable_fireworks: - name: Fireworks Effect With Custom Values - update_interval: 32ms - spark_probability: 10% - use_random_color: false - fade_out_rate: 120 - - addressable_flicker: - - addressable_flicker: - name: Flicker Effect With Custom Values - update_interval: 16ms - intensity: 5% - - addressable_lambda: - name: "Test For Custom Lambda Effect" + - addressable_color_wipe: + - addressable_color_wipe: + name: Color Wipe Effect With Custom Values + colors: + - red: 100% + green: 100% + blue: 100% + num_leds: 1 + - red: 0% + green: 0% + blue: 0% + num_leds: 1 + add_led_interval: 100ms + reverse: False + - addressable_scan: + - addressable_scan: + name: Scan Effect With Custom Values + move_interval: 100ms + - addressable_twinkle: + - addressable_twinkle: + name: Twinkle Effect With Custom Values + twinkle_probability: 5% + progress_interval: 4ms + - addressable_random_twinkle: + - addressable_random_twinkle: + name: Random Twinkle Effect With Custom Values + twinkle_probability: 5% + progress_interval: 32ms + - addressable_fireworks: + - addressable_fireworks: + name: Fireworks Effect With Custom Values + update_interval: 32ms + spark_probability: 10% + use_random_color: false + fade_out_rate: 120 + - addressable_flicker: + - addressable_flicker: + name: Flicker Effect With Custom Values + update_interval: 16ms + intensity: 5% + - addressable_lambda: + name: 'Test For Custom Lambda Effect' lambda: |- if (initial_run) { it[0] = current_color; } - - wled: - port: 11111 + - wled: + port: 11111 - - adalight: - uart_id: adalight_uart + - adalight: + uart_id: adalight_uart - - automation: - name: Custom Effect - sequence: - - light.addressable_set: - id: addr1 - red: 100% - green: 100% - blue: 0% - - delay: 100ms - - light.addressable_set: - id: addr1 - red: 0% - green: 100% - blue: 0% - - e131: - universe: 1 + - automation: + name: Custom Effect + sequence: + - light.addressable_set: + id: addr1 + red: 100% + green: 100% + blue: 0% + - delay: 100ms + - light.addressable_set: + id: addr1 + red: 0% + green: 100% + blue: 0% + - e131: + universe: 1 - platform: fastled_spi id: addr2 chipset: WS2801 @@ -1257,26 +1291,26 @@ light: data_rate: 2MHz num_leds: 60 rgb_order: BRG - name: "FastLED SPI Light" + name: 'FastLED SPI Light' - platform: neopixelbus id: addr3 - name: "Neopixelbus Light" + name: 'Neopixelbus Light' gamma_correct: 2.8 color_correct: [0.0, 0.0, 0.0, 0.0] default_transition_length: 10s power_supply: atx_power_supply effects: - - addressable_flicker: - name: Flicker Effect With Custom Values - update_interval: 16ms - intensity: 5% + - addressable_flicker: + name: Flicker Effect With Custom Values + update_interval: 16ms + intensity: 5% type: GRBW variant: SK6812 method: ESP32_I2S_0 num_leds: 60 pin: GPIO23 - platform: partition - name: "Partition Light" + name: 'Partition Light' segments: - id: addr1 from: 0 @@ -1327,8 +1361,8 @@ climate: switch: - platform: gpio pin: GPIO25 - name: "Living Room Dehumidifier" - icon: "mdi:restart" + name: 'Living Room Dehumidifier' + icon: 'mdi:restart' inverted: True command_topic: custom_command_topic restore_mode: ALWAYS_OFF @@ -1434,35 +1468,35 @@ switch: optimistic: True assumed_state: yes turn_on_action: - - switch.turn_on: living_room_lights_on - - output.set_level: - id: gpio_19 - level: 50% - - output.set_level: - id: gpio_19 - level: !lambda 'return 0.5;' - - output.set_level: - id: dac_output - level: 50% - - output.set_level: - id: dac_output - level: !lambda 'return 0.5;' + - switch.turn_on: living_room_lights_on + - output.set_level: + id: gpio_19 + level: 50% + - output.set_level: + id: gpio_19 + level: !lambda 'return 0.5;' + - output.set_level: + id: dac_output + level: 50% + - output.set_level: + id: dac_output + level: !lambda 'return 0.5;' turn_off_action: - - switch.turn_on: living_room_lights_off + - switch.turn_on: living_room_lights_off restore_state: False on_turn_on: - switch.template.publish: id: livingroom_lights state: yes - platform: restart - name: "Living Room Restart" + name: 'Living Room Restart' - platform: shutdown - name: "Living Room Shutdown" + name: 'Living Room Shutdown' - platform: output - name: "Generic Output" + name: 'Generic Output' output: pca_6 - platform: template - name: "Template Switch" + name: 'Template Switch' id: my_switch lambda: |- if (id(binary_sensor1).state) { @@ -1487,30 +1521,30 @@ switch: id: my_switch state: !lambda 'return false;' - platform: uart - name: "UART String Output" + name: 'UART String Output' data: 'DataToSend' - platform: uart - name: "UART Bytes Output" + name: 'UART Bytes Output' data: [0xDE, 0xAD, 0xBE, 0xEF] - platform: template assumed_state: yes name: Stepper Switch turn_on_action: - - stepper.set_target: - id: my_stepper - target: !lambda |- - static int32_t i = 0; - i += 1000; - if (i > 5000) { - i = -5000; - } - return i; - - stepper.report_position: - id: my_stepper - position: 0 + - stepper.set_target: + id: my_stepper + target: !lambda |- + static int32_t i = 0; + i += 1000; + if (i > 5000) { + i = -5000; + } + return i; + - stepper.report_position: + id: my_stepper + position: 0 - platform: gpio - name: "SN74HC595 Pin #0" + name: 'SN74HC595 Pin #0' pin: sn74hc595: sn74hc595_hub # Use pin number 0 @@ -1520,12 +1554,12 @@ switch: fan: - platform: binary output: gpio_26 - name: "Living Room Fan 1" + name: 'Living Room Fan 1' oscillation_output: gpio_19 direction_output: gpio_26 - platform: speed output: pca_6 - name: "Living Room Fan 2" + name: 'Living Room Fan 2' oscillation_output: gpio_19 direction_output: gpio_26 speed: @@ -1540,20 +1574,20 @@ fan: interval: - interval: 10s then: - - display.page.show: !lambda |- - if (true) return id(page1); else return id(page2); - - display.page.show_next: display1 - - display.page.show_previous: display1 + - display.page.show: !lambda |- + if (true) return id(page1); else return id(page2); + - display.page.show_next: display1 + - display.page.show_previous: display1 - interval: 2s then: - lambda: |- - static uint16_t btn_left_state = id(btn_left)->get_value(); + static uint16_t btn_left_state = id(btn_left)->get_value(); - ESP_LOGD("adaptive touch", "___ Touch Pad '%s' (T%u): val: %u state: %u tres:%u", id(btn_left)->get_name().c_str(), id(btn_left)->get_touch_pad(), id(btn_left)->get_value(), btn_left_state, id(btn_left)->get_threshold()); + ESP_LOGD("adaptive touch", "___ Touch Pad '%s' (T%u): val: %u state: %u tres:%u", id(btn_left)->get_name().c_str(), id(btn_left)->get_touch_pad(), id(btn_left)->get_value(), btn_left_state, id(btn_left)->get_threshold()); - btn_left_state = ((uint32_t) id(btn_left)->get_value() + 63 * (uint32_t)btn_left_state) >> 6; + btn_left_state = ((uint32_t) id(btn_left)->get_value() + 63 * (uint32_t)btn_left_state) >> 6; - id(btn_left)->set_threshold(btn_left_state * 0.9); + id(btn_left)->set_threshold(btn_left_state * 0.9); color: - id: kbx_red @@ -1566,110 +1600,110 @@ color: blue: 100% display: -- platform: lcd_gpio - dimensions: 18x4 - data_pins: - - GPIO19 - - GPIO21 - - GPIO22 - - GPIO23 - enable_pin: GPIO23 - rs_pin: GPIO25 - lambda: |- - it.print("Hello World!"); -- platform: lcd_pcf8574 - dimensions: 18x4 - address: 0x3F - lambda: |- - it.print("Hello World!"); -- platform: max7219 - cs_pin: GPIO23 - num_chips: 1 - lambda: |- - it.print("01234567"); -- platform: tm1637 - clk_pin: GPIO23 - dio_pin: GPIO25 - intensity: 3 - lambda: |- + - platform: lcd_gpio + dimensions: 18x4 + data_pins: + - GPIO19 + - GPIO21 + - GPIO22 + - GPIO23 + enable_pin: GPIO23 + rs_pin: GPIO25 + lambda: |- + it.print("Hello World!"); + - platform: lcd_pcf8574 + dimensions: 18x4 + address: 0x3F + lambda: |- + it.print("Hello World!"); + - platform: max7219 + cs_pin: GPIO23 + num_chips: 1 + lambda: |- + it.print("01234567"); + - platform: tm1637 + clk_pin: GPIO23 + dio_pin: GPIO25 + intensity: 3 + lambda: |- it.print("1234"); -- platform: tm1637 - clk_pin: - mcp23017: mcp23017_hub - number: 1 - dio_pin: - mcp23017: mcp23017_hub - number: 2 - intensity: 3 - lambda: |- + - platform: tm1637 + clk_pin: + mcp23017: mcp23017_hub + number: 1 + dio_pin: + mcp23017: mcp23017_hub + number: 2 + intensity: 3 + lambda: |- it.print("1234"); -- platform: nextion - lambda: |- - it.set_component_value("gauge", 50); - it.set_component_text("textview", "Hello World!"); -- platform: pcd8544 - cs_pin: GPIO23 - dc_pin: GPIO23 - reset_pin: GPIO23 - contrast: 60 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); -- platform: ssd1306_i2c - model: "SSD1306_128X64" - reset_pin: GPIO23 - address: 0x3C - id: display1 - brightness: 60% - pages: - - id: page1 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); - - id: page2 - lambda: |- - // Nothing -- platform: ssd1306_spi - model: "SSD1306 128x64" - cs_pin: GPIO23 - dc_pin: GPIO23 - reset_pin: GPIO23 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); -- platform: ssd1325_spi - model: "SSD1325 128x64" - cs_pin: GPIO23 - dc_pin: GPIO23 - reset_pin: GPIO23 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); -- platform: ssd1331_spi - cs_pin: GPIO23 - dc_pin: GPIO23 - reset_pin: GPIO23 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); -- platform: ssd1351_spi - model: "SSD1351 128x128" - cs_pin: GPIO23 - dc_pin: GPIO23 - reset_pin: GPIO23 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); -- platform: waveshare_epaper - cs_pin: GPIO23 - dc_pin: GPIO23 - busy_pin: GPIO23 - reset_pin: GPIO23 - model: 2.90in - full_update_every: 30 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); -- platform: st7789v - cs_pin: GPIO5 - dc_pin: GPIO16 - reset_pin: GPIO23 - backlight_pin: GPIO4 - lambda: |- - it.rectangle(0, 0, it.get_width(), it.get_height()); + - platform: nextion + lambda: |- + it.set_component_value("gauge", 50); + it.set_component_text("textview", "Hello World!"); + - platform: pcd8544 + cs_pin: GPIO23 + dc_pin: GPIO23 + reset_pin: GPIO23 + contrast: 60 + lambda: |- + it.rectangle(0, 0, it.get_width(), it.get_height()); + - platform: ssd1306_i2c + model: 'SSD1306_128X64' + reset_pin: GPIO23 + address: 0x3C + id: display1 + brightness: 60% + pages: + - id: page1 + lambda: |- + it.rectangle(0, 0, it.get_width(), it.get_height()); + - id: page2 + lambda: |- + // Nothing + - platform: ssd1306_spi + model: 'SSD1306 128x64' + cs_pin: GPIO23 + dc_pin: GPIO23 + reset_pin: GPIO23 + lambda: |- + it.rectangle(0, 0, it.get_width(), it.get_height()); + - platform: ssd1325_spi + model: 'SSD1325 128x64' + cs_pin: GPIO23 + dc_pin: GPIO23 + reset_pin: GPIO23 + lambda: |- + it.rectangle(0, 0, it.get_width(), it.get_height()); + - platform: ssd1331_spi + cs_pin: GPIO23 + dc_pin: GPIO23 + reset_pin: GPIO23 + lambda: |- + it.rectangle(0, 0, it.get_width(), it.get_height()); + - platform: ssd1351_spi + model: 'SSD1351 128x128' + cs_pin: GPIO23 + dc_pin: GPIO23 + reset_pin: GPIO23 + lambda: |- + it.rectangle(0, 0, it.get_width(), it.get_height()); + - platform: waveshare_epaper + cs_pin: GPIO23 + dc_pin: GPIO23 + busy_pin: GPIO23 + reset_pin: GPIO23 + model: 2.90in + full_update_every: 30 + lambda: |- + it.rectangle(0, 0, it.get_width(), it.get_height()); + - platform: st7789v + cs_pin: GPIO5 + dc_pin: GPIO16 + reset_pin: GPIO23 + backlight_pin: GPIO4 + lambda: |- + it.rectangle(0, 0, it.get_width(), it.get_height()); tm1651: id: tm1651_battery @@ -1707,21 +1741,21 @@ rc522_spi: gps: time: -- platform: sntp - id: sntp_time - servers: - - 0.pool.ntp.org - - 1.pool.ntp.org - - 192.168.178.1 - on_time: - cron: '/30 0-30,30/5 * ? JAN-DEC MON,SAT-SUN,TUE-FRI' - then: - - lambda: 'ESP_LOGD("main", "time");' -- platform: gps + - platform: sntp + id: sntp_time + servers: + - 0.pool.ntp.org + - 1.pool.ntp.org + - 192.168.178.1 + on_time: + cron: '/30 0-30,30/5 * ? JAN-DEC MON,SAT-SUN,TUE-FRI' + then: + - lambda: 'ESP_LOGD("main", "time");' + - platform: gps cover: - platform: template - name: "Template Cover" + name: 'Template Cover' id: template_cover lambda: |- if (id(binary_sensor1).state) { @@ -1755,65 +1789,64 @@ mcp23016: address: 0x23 stepper: -- platform: a4988 - id: my_stepper - step_pin: GPIO23 - dir_pin: GPIO25 - sleep_pin: GPIO25 - max_speed: 250 steps/s - acceleration: 100 steps/s^2 - deceleration: 200 steps/s^2 - + - platform: a4988 + id: my_stepper + step_pin: GPIO23 + dir_pin: GPIO25 + sleep_pin: GPIO25 + max_speed: 250 steps/s + acceleration: 100 steps/s^2 + deceleration: 200 steps/s^2 globals: -- id: glob_int - type: int - restore_value: yes - initial_value: '0' -- id: glob_float - type: float - restore_value: yes - initial_value: '0.0f' -- id: glob_bool - type: bool - restore_value: no - initial_value: 'true' -- id: glob_string - type: std::string - restore_value: no - # initial_value: "" + - id: glob_int + type: int + restore_value: yes + initial_value: '0' + - id: glob_float + type: float + restore_value: yes + initial_value: '0.0f' + - id: glob_bool + type: bool + restore_value: no + initial_value: 'true' + - id: glob_string + type: std::string + restore_value: no + # initial_value: "" text_sensor: -- platform: mqtt_subscribe - name: "MQTT Subscribe Text" - topic: "the/topic" - qos: 2 - on_value: - - text_sensor.template.publish: - id: template_text - state: Hello World - - text_sensor.template.publish: - id: template_text - state: |- - return "Hello World2"; - - globals.set: - id: glob_int - value: '0' -- platform: template - name: Template Text Sensor - id: template_text -- platform: wifi_info - ip_address: - name: "IP Address" - ssid: - name: "SSID" - bssid: - name: "BSSID" - mac_address: - name: "Mac Address" -- platform: version - name: "ESPHome Version No Timestamp" - hide_timestamp: True + - platform: mqtt_subscribe + name: 'MQTT Subscribe Text' + topic: 'the/topic' + qos: 2 + on_value: + - text_sensor.template.publish: + id: template_text + state: Hello World + - text_sensor.template.publish: + id: template_text + state: |- + return "Hello World2"; + - globals.set: + id: glob_int + value: '0' + - platform: template + name: Template Text Sensor + id: template_text + - platform: wifi_info + ip_address: + name: 'IP Address' + ssid: + name: 'SSID' + bssid: + name: 'BSSID' + mac_address: + name: 'Mac Address' + - platform: version + name: 'ESPHome Version No Timestamp' + hide_timestamp: True sn74hc595: - id: 'sn74hc595_hub' diff --git a/tests/test2.yaml b/tests/test2.yaml index 19bd6e8c28..a3328efe7b 100644 --- a/tests/test2.yaml +++ b/tests/test2.yaml @@ -47,147 +47,146 @@ logger: as3935_i2c: irq_pin: GPIO12 - sensor: - platform: homeassistant entity_id: sensor.hello_world id: ha_hello_world - platform: ble_rssi mac_address: AC:37:43:77:5F:4C - name: "BLE Google Home Mini RSSI value" + name: 'BLE Google Home Mini RSSI value' - platform: ble_rssi service_uuid: '11aa' - name: "BLE Test Service 16" + name: 'BLE Test Service 16' - platform: ble_rssi service_uuid: '11223344' - name: "BLE Test Service 32" + name: 'BLE Test Service 32' - platform: ble_rssi service_uuid: '11223344-5566-7788-99aa-bbccddeeff00' - name: "BLE Test Service 128" + name: 'BLE Test Service 128' - platform: ruuvitag mac_address: FF:56:D3:2F:7D:E8 humidity: - name: "RuuviTag Humidity" + name: 'RuuviTag Humidity' temperature: - name: "RuuviTag Temperature" + name: 'RuuviTag Temperature' pressure: - name: "RuuviTag Pressure" + name: 'RuuviTag Pressure' acceleration_x: - name: "RuuviTag Acceleration X" + name: 'RuuviTag Acceleration X' acceleration_y: - name: "RuuviTag Acceleration Y" + name: 'RuuviTag Acceleration Y' acceleration_z: - name: "RuuviTag Acceleration Z" + name: 'RuuviTag Acceleration Z' battery_voltage: - name: "RuuviTag Battery Voltage" + name: 'RuuviTag Battery Voltage' tx_power: - name: "RuuviTag TX Power" + name: 'RuuviTag TX Power' movement_counter: - name: "RuuviTag Movement Counter" + name: 'RuuviTag Movement Counter' measurement_sequence_number: - name: "RuuviTag Measurement Sequence Number" + name: 'RuuviTag Measurement Sequence Number' - platform: as3935 lightning_energy: - name: "Lightning Energy" + name: 'Lightning Energy' distance: - name: "Distance Storm" + name: 'Distance Storm' - platform: xiaomi_hhccjcy01 mac_address: 94:2B:FF:5C:91:61 temperature: - name: "Xiaomi HHCCJCY01 Temperature" + name: 'Xiaomi HHCCJCY01 Temperature' moisture: - name: "Xiaomi HHCCJCY01 Moisture" + name: 'Xiaomi HHCCJCY01 Moisture' illuminance: - name: "Xiaomi HHCCJCY01 Illuminance" + name: 'Xiaomi HHCCJCY01 Illuminance' conductivity: - name: "Xiaomi HHCCJCY01 Soil Conductivity" + name: 'Xiaomi HHCCJCY01 Soil Conductivity' battery_level: - name: "Xiaomi HHCCJCY01 Battery Level" + name: 'Xiaomi HHCCJCY01 Battery Level' - platform: xiaomi_lywsdcgq mac_address: 7A:80:8E:19:36:BA temperature: - name: "Xiaomi LYWSDCGQ Temperature" + name: 'Xiaomi LYWSDCGQ Temperature' humidity: - name: "Xiaomi LYWSDCGQ Humidity" + name: 'Xiaomi LYWSDCGQ Humidity' battery_level: - name: "Xiaomi LYWSDCGQ Battery Level" + name: 'Xiaomi LYWSDCGQ Battery Level' - platform: xiaomi_lywsd02 mac_address: 3F:5B:7D:82:58:4E temperature: - name: "Xiaomi LYWSD02 Temperature" + name: 'Xiaomi LYWSD02 Temperature' humidity: - name: "Xiaomi LYWSD02 Humidity" + name: 'Xiaomi LYWSD02 Humidity' battery_level: - name: "Xiaomi LYWSD02 Battery Level" + name: 'Xiaomi LYWSD02 Battery Level' - platform: xiaomi_cgg1 mac_address: 7A:80:8E:19:36:BA temperature: - name: "Xiaomi CGG1 Temperature" + name: 'Xiaomi CGG1 Temperature' humidity: - name: "Xiaomi CGG1 Humidity" + name: 'Xiaomi CGG1 Humidity' battery_level: - name: "Xiaomi CGG1 Battery Level" + name: 'Xiaomi CGG1 Battery Level' - platform: xiaomi_gcls002 - mac_address: "94:2B:FF:5C:91:61" + mac_address: '94:2B:FF:5C:91:61' temperature: - name: "GCLS02 Temperature" + name: 'GCLS02 Temperature' moisture: - name: "GCLS02 Moisture" + name: 'GCLS02 Moisture' conductivity: - name: "GCLS02 Soil Conductivity" + name: 'GCLS02 Soil Conductivity' illuminance: - name: "GCLS02 Illuminance" + name: 'GCLS02 Illuminance' - platform: xiaomi_hhccpot002 - mac_address: "94:2B:FF:5C:91:61" + mac_address: '94:2B:FF:5C:91:61' moisture: - name: "HHCCPOT002 Moisture" + name: 'HHCCPOT002 Moisture' conductivity: - name: "HHCCPOT002 Soil Conductivity" + name: 'HHCCPOT002 Soil Conductivity' - platform: xiaomi_lywsd03mmc - mac_address: "A4:C1:38:4E:16:78" - bindkey: "e9efaa6873f9f9c87a5e75a5f814801c" + mac_address: 'A4:C1:38:4E:16:78' + bindkey: 'e9efaa6873f9f9c87a5e75a5f814801c' temperature: - name: "Xiaomi LYWSD03MMC Temperature" + name: 'Xiaomi LYWSD03MMC Temperature' humidity: - name: "Xiaomi LYWSD03MMC Humidity" + name: 'Xiaomi LYWSD03MMC Humidity' battery_level: - name: "Xiaomi LYWSD03MMC Battery Level" + name: 'Xiaomi LYWSD03MMC Battery Level' - platform: xiaomi_cgd1 - mac_address: "A4:C1:38:D1:61:7D" - bindkey: "c99d2313182473b38001086febf781bd" + mac_address: 'A4:C1:38:D1:61:7D' + bindkey: 'c99d2313182473b38001086febf781bd' temperature: - name: "Xiaomi CGD1 Temperature" + name: 'Xiaomi CGD1 Temperature' humidity: - name: "Xiaomi CGD1 Humidity" + name: 'Xiaomi CGD1 Humidity' battery_level: - name: "Xiaomi CGD1 Battery Level" + name: 'Xiaomi CGD1 Battery Level' - platform: xiaomi_jqjcy01ym - mac_address: "7A:80:8E:19:36:BA" + mac_address: '7A:80:8E:19:36:BA' temperature: - name: "JQJCY01YM Temperature" + name: 'JQJCY01YM Temperature' humidity: - name: "JQJCY01YM Humidity" + name: 'JQJCY01YM Humidity' formaldehyde: - name: "JQJCY01YM Formaldehyde" + name: 'JQJCY01YM Formaldehyde' battery_level: - name: "JQJCY01YM Battery Level" + name: 'JQJCY01YM Battery Level' - platform: atc_mithermometer - mac_address: "A4:C1:38:4E:16:78" + mac_address: 'A4:C1:38:4E:16:78' temperature: - name: "ATC Temperature" + name: 'ATC Temperature' humidity: - name: "ATC Humidity" + name: 'ATC Humidity' battery_level: - name: "ATC Battery-Level" + name: 'ATC Battery-Level' battery_voltage: - name: "ATC Battery-Voltage" + name: 'ATC Battery-Voltage' time: -- platform: homeassistant - on_time: - - at: '16:00:00' - then: - - logger.log: It's 16:00 + - platform: homeassistant + on_time: + - at: '16:00:00' + then: + - logger.log: It's 16:00 esp32_touch: setup_mode: True @@ -198,44 +197,43 @@ binary_sensor: id: ha_hello_world_binary - platform: ble_presence mac_address: AC:37:43:77:5F:4C - name: "ESP32 BLE Tracker Google Home Mini" + name: 'ESP32 BLE Tracker Google Home Mini' - platform: ble_presence service_uuid: '11aa' - name: "BLE Test Service 16 Presence" + name: 'BLE Test Service 16 Presence' - platform: ble_presence service_uuid: '11223344' - name: "BLE Test Service 32 Presence" + name: 'BLE Test Service 32 Presence' - platform: ble_presence service_uuid: '11223344-5566-7788-99aa-bbccddeeff00' - name: "BLE Test Service 128 Presence" + name: 'BLE Test Service 128 Presence' - platform: esp32_touch - name: "ESP32 Touch Pad GPIO27" + name: 'ESP32 Touch Pad GPIO27' pin: GPIO27 threshold: 1000 - platform: as3935 - name: "Storm Alert" + name: 'Storm Alert' - platform: xiaomi_mue4094rt - name: "MUE4094RT Motion" - mac_address: "7A:80:8E:19:36:BA" - timeout: "5s" + name: 'MUE4094RT Motion' + mac_address: '7A:80:8E:19:36:BA' + timeout: '5s' - platform: xiaomi_mjyd02yla - name: "MJYD02YL-A Motion" - mac_address: "50:EC:50:CD:32:02" - bindkey: "48403ebe2d385db8d0c187f81e62cb64" + name: 'MJYD02YL-A Motion' + mac_address: '50:EC:50:CD:32:02' + bindkey: '48403ebe2d385db8d0c187f81e62cb64' idle_time: - name: "MJYD02YL-A Idle Time" + name: 'MJYD02YL-A Idle Time' light: - name: "MJYD02YL-A Light Status" + name: 'MJYD02YL-A Light Status' battery_level: - name: "MJYD02YL-A Battery Level" + name: 'MJYD02YL-A Battery Level' - platform: xiaomi_wx08zm - name: "WX08ZM Activation State" - mac_address: "74:a3:4a:b5:07:34" + name: 'WX08ZM Activation State' + mac_address: '74:a3:4a:b5:07:34' tablet: - name: "WX08ZM Tablet Resource" + name: 'WX08ZM Tablet Resource' battery_level: - name: "WX08ZM Battery Level" - + name: 'WX08ZM Battery Level' esp32_ble_tracker: on_ble_advertise: @@ -257,7 +255,6 @@ esp32_ble_tracker: - lambda: !lambda |- ESP_LOGD("main", "Length of manufacturer data is %i", x.size()); - #esp32_ble_beacon: # type: iBeacon # uuid: 'c29ce823-e67a-4e71-bff2-abaa32e77a98' @@ -267,7 +264,7 @@ status_led: text_sensor: - platform: version - name: "ESPHome Version" + name: 'ESPHome Version' icon: mdi:icon id: version_sensor on_value: @@ -275,8 +272,8 @@ text_sensor: condition: - api.connected: then: - - lambda: !lambda |- - ESP_LOGD("main", "The state is %s=%s", x.c_str(), id(version_sensor).state.c_str()); + - lambda: !lambda |- + ESP_LOGD("main", "The state is %s=%s", x.c_str(), id(version_sensor).state.c_str()); - script.execute: my_script - homeassistant.service: service: notify.html5 @@ -297,7 +294,7 @@ text_sensor: tag: 1234-abcd - homeassistant.tag_scanned: 1234-abcd - platform: template - name: "Template Text Sensor" + name: 'Template Text Sensor' lambda: |- return {"Hello World"}; - platform: homeassistant @@ -344,6 +341,6 @@ stepper: interval: interval: 5s then: - - logger.log: "Interval Run" + - logger.log: 'Interval Run' display: diff --git a/tests/test3.yaml b/tests/test3.yaml index 9f264812bf..5af006227d 100644 --- a/tests/test3.yaml +++ b/tests/test3.yaml @@ -15,8 +15,8 @@ esphome: substitutions: devicename: test3 devicecomment: test3 device - min_sub: "0.03" - max_sub: "12.0%" + min_sub: '0.03' + max_sub: '12.0%' api: port: 8000 @@ -225,7 +225,7 @@ sensor: type: proximity name: APDS9960 Proximity - platform: vl53l0x - name: "VL53L0x Distance" + name: 'VL53L0x Distance' address: 0x29 update_interval: 60s - platform: apds9960 @@ -245,14 +245,14 @@ sensor: id: ha_hello_world - platform: aht10 temperature: - name: "Temperature" + name: 'Temperature' humidity: - name: "Humidity" + name: 'Humidity' - platform: am2320 temperature: - name: "Temperature" + name: 'Temperature' humidity: - name: "Humidity" + name: 'Humidity' - platform: adc pin: VCC id: my_sensor @@ -351,83 +351,83 @@ sensor: name: ADE7953 Active Power B - platform: pzem004t voltage: - name: "PZEM00T Voltage" + name: 'PZEM00T Voltage' current: - name: "PZEM004T Current" + name: 'PZEM004T Current' power: - name: "PZEM004T Power" + name: 'PZEM004T Power' - platform: pzemac voltage: - name: "PZEMAC Voltage" + name: 'PZEMAC Voltage' current: - name: "PZEMAC Current" + name: 'PZEMAC Current' power: - name: "PZEMAC Power" + name: 'PZEMAC Power' energy: - name: "PZEMAC Energy" + name: 'PZEMAC Energy' frequency: - name: "PZEMAC Frequency" + name: 'PZEMAC Frequency' power_factor: - name: "PZEMAC Power Factor" + name: 'PZEMAC Power Factor' - platform: pzemdc voltage: - name: "PZEMDC Voltage" + name: 'PZEMDC Voltage' current: - name: "PZEMDC Current" + name: 'PZEMDC Current' power: - name: "PZEMDC Power" + name: 'PZEMDC Power' - platform: tmp102 - name: "TMP102 Temperature" + name: 'TMP102 Temperature' - platform: hm3301 pm_1_0: - name: "PM1.0" + name: 'PM1.0' pm_2_5: - name: "PM2.5" + name: 'PM2.5' pm_10_0: - name: "PM10.0" + name: 'PM10.0' aqi: - name: "AQI" - calculation_type: "AQI" + name: 'AQI' + calculation_type: 'AQI' - platform: pmsx003 type: PMSX003 pm_1_0: - name: "PM 1.0 Concentration" + name: 'PM 1.0 Concentration' pm_2_5: - name: "PM 2.5 Concentration" + name: 'PM 2.5 Concentration' pm_10_0: - name: "PM 10.0 Concentration" + name: 'PM 10.0 Concentration' - platform: pmsx003 type: PMS5003T pm_2_5: - name: "PM 2.5 Concentration" + name: 'PM 2.5 Concentration' temperature: - name: "PMS Temperature" + name: 'PMS Temperature' humidity: - name: "PMS Humidity" + name: 'PMS Humidity' - platform: pmsx003 type: PMS5003ST pm_2_5: - name: "PM 2.5 Concentration" + name: 'PM 2.5 Concentration' temperature: - name: "PMS Temperature" + name: 'PMS Temperature' humidity: - name: "PMS Humidity" + name: 'PMS Humidity' formaldehyde: - name: "PMS Formaldehyde Concentration" + name: 'PMS Formaldehyde Concentration' - platform: cse7766 voltage: - name: "CSE7766 Voltage" + name: 'CSE7766 Voltage' current: - name: "CSE7766 Current" + name: 'CSE7766 Current' power: - name: "CSE776 Power" + name: 'CSE776 Power' - platform: ezo id: ph_ezo address: 99 - unit_of_measurement: "pH" + unit_of_measurement: 'pH' time: -- platform: homeassistant + - platform: homeassistant apds9960: address: 0x20 @@ -465,18 +465,18 @@ binary_sensor: - platform: mpr121 id: touchkey0 channel: 0 - name: "touchkey0" + name: 'touchkey0' - platform: mpr121 channel: 1 - name: "touchkey1" + name: 'touchkey1' id: bin1 - platform: mpr121 channel: 2 - name: "touchkey2" + name: 'touchkey2' id: bin2 - platform: mpr121 channel: 3 - name: "touchkey3" + name: 'touchkey3' id: bin3 on_press: then: @@ -510,7 +510,7 @@ status_led: text_sensor: - platform: version - name: "ESPHome Version" + name: 'ESPHome Version' icon: mdi:icon id: version_sensor on_value: @@ -529,7 +529,7 @@ text_sensor: my_variable: |- return id(version_sensor).state; - platform: template - name: "Template Text Sensor" + name: 'Template Text Sensor' lambda: |- return {"Hello World"}; - platform: homeassistant @@ -551,7 +551,7 @@ script: switch: - platform: template - name: "mpr121_toggle" + name: 'mpr121_toggle' id: mpr121_toggle optimistic: True - platform: gpio @@ -581,10 +581,10 @@ switch: name: Custom Switch custom_component: - lambda: |- - auto s = new CustomComponent(); - s->set_update_interval(15000); - return {s}; + lambda: |- + auto s = new CustomComponent(); + s->set_update_interval(15000); + return {s}; stepper: - platform: uln2003 @@ -609,7 +609,7 @@ stepper: interval: interval: 5s then: - - logger.log: "Interval Run" + - logger.log: 'Interval Run' - stepper.set_target: id: my_stepper2 target: 500 @@ -697,7 +697,7 @@ climate: default_target_temperature_high: 20°C - platform: pid id: pid_climate - name: "PID Climate Controller" + name: 'PID Climate Controller' sensor: ha_hello_world default_target_temperature: 21°C heat_output: my_slow_pwm @@ -706,7 +706,6 @@ climate: ki: 0.0 kd: 0.0 - cover: - platform: endstop name: Endstop Cover @@ -750,16 +749,15 @@ cover: close_duration: 4.5min - platform: template name: Template Cover with Tilt - tilt_lambda: "return 0.5;" + tilt_lambda: 'return 0.5;' tilt_action: - output.set_level: id: out - level: !lambda "return tilt;" + level: !lambda 'return tilt;' position_action: - output.set_level: id: out - level: !lambda "return pos;" - + level: !lambda 'return pos;' output: - platform: esp8266_pwm @@ -794,7 +792,6 @@ output: id: my_slow_pwm period: 15s - mcp23017: id: mcp23017_hub @@ -850,8 +847,7 @@ dfplayer: then: if: condition: - not: - dfplayer.is_playing + not: dfplayer.is_playing then: logger.log: 'Playback finished event' tm1651: