diff --git a/tests/test1.yaml b/tests/test1.yaml new file mode 100644 index 0000000000..1080c84ca1 --- /dev/null +++ b/tests/test1.yaml @@ -0,0 +1,1366 @@ +esphome: + name: test1 + platform: ESP32 + board: nodemcu-32s + on_boot: + priority: 150.0 + then: + - lambda: >- + ESP_LOGD("main", "ON BOOT!"); + on_shutdown: + then: + - lambda: >- + ESP_LOGD("main", "ON SHUTDOWN!"); + on_loop: + then: + - lambda: >- + ESP_LOGV("main", "ON LOOP!"); + - light.addressable_set: + id: addr1 + range_from: 0 + range_to: 100 + red: 100% + green: !lambda 'return 255;' + blue: 0% + white: 100% + build_path: build/test1 + +wifi: + networks: + - 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 + subnet: 255.255.255.0 + dns1: 1.1.1.1 + dns2: 1.2.2.1 + domain: .local + reboot_timeout: 120s + power_save_mode: none + +mqtt: + broker: '192.168.178.84' + port: 1883 + username: 'debug' + password: 'debug' + client_id: someclient + discovery: True + discovery_retain: False + discovery_prefix: discovery + topic_prefix: helloworld + log_topic: + topic: helloworld/hi + level: INFO + birth_message: + will_message: + shutdown_message: + topic: topic/to/send/to + payload: hi + qos: 2 + retain: True + keepalive: 60s + reboot_timeout: 60s + on_message: + - topic: my/custom/topic + qos: 0 + then: + - lambda: >- + ESP_LOGD("main", "Got message %s", x.c_str()); + - topic: livingroom/ota_mode + then: + - deep_sleep.prevent: deep_sleep_1 + - topic: livingroom/ota_mode + then: + - deep_sleep.enter: deep_sleep_1 + 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 {}; + +i2c: + sda: 21 + scl: 22 + scan: True + frequency: 100kHz + setup_priority: -100 + +spi: + clk_pin: GPIO21 + mosi_pin: GPIO22 + miso_pin: GPIO23 + +uart: + tx_pin: GPIO22 + rx_pin: GPIO23 + baud_rate: 115200 + id: uart0 + +ota: + safe_mode: True + password: 'superlongpasswordthatnoonewillknow' + port: 3286 + +logger: + baud_rate: 0 + level: VERBOSE + logs: + mqtt.component: DEBUG + mqtt.client: ERROR + +web_server: + port: 8080 + css_url: https://esphome.io/_static/webserver-v1.min.css + js_url: https://esphome.io/_static/webserver-v1.min.js + +power_supply: + id: 'atx_power_supply' + enable_time: 20ms + keep_on_time: 10s + pin: + number: 13 + inverted: true + +deep_sleep: + run_duration: 20s + sleep_duration: 50s + wakeup_pin: GPIO39 + wakeup_pin_mode: INVERT_WAKEUP + id: deep_sleep_1 + +ads1115: + address: 0x48 + +dallas: + pin: GPIO23 + +sensor: + - platform: adc + pin: A0 + name: "Living Room Brightness" + update_interval: '1:01' + attenuation: 2.5db + unit_of_measurement: "°C" + icon: "mdi:water-percent" + accuracy_decimals: 5 + expire_after: 120s + setup_priority: -100 + filters: + - offset: 2.0 + - multiply: 1.2 + - calibrate_linear: + - 0.0 -> 0.0 + - 40.0 -> 45.0 + - 100.0 -> 102.5 + - filter_out: 42.0 + - filter_out: nan + - sliding_window_moving_average: + window_size: 15 + send_every: 15 + send_first_at: 15 + - exponential_moving_average: + alpha: 0.1 + send_every: 15 + - throttle: 1s + - heartbeat: 5s + - debounce: 0.1s + - delta: 5.0 + - or: + - throttle: 1s + - delta: 5.0 + - lambda: return x * (9.0/5.0) + 32.0; + on_value: + then: + - lambda: |- + ESP_LOGD("main", "Got value %f", x); + id(my_sensor).publish_state(42.0); + ESP_LOGI("main", "Value of my sensor: %f", id(my_sensor).state); + ESP_LOGI("main", "Raw Value of my sensor: %f", id(my_sensor).state); + on_value_range: + above: 5 + below: 10 + then: + - lambda: >- + ESP_LOGD("main", "Got value range %f", x); + - wait_until: + binary_sensor.is_on: binary_sensor1 + on_raw_value: + - lambda: >- + ESP_LOGD("main", "Got raw value %f", x); + - logger.log: + level: DEBUG + format: "Got raw value %f" + args: ['x'] + - logger.log: "Got raw value NAN" + - mqtt.publish: + topic: some/topic + payload: Hello + qos: 2 + retain: True + - platform: esp32_hall + name: ESP32 Hall Sensor + - platform: ads1115 + multiplexer: 'A0_A1' + gain: 1.024 + id: my_sensor + filters: + state_topic: hi/me + retain: false + availability: + - platform: atm90e32 + cs_pin: 5 + phase_a: + voltage: + name: "EMON Line Voltage A" + current: + name: "EMON CT1 Current" + power: + name: "EMON Active Power CT1" + gain_voltage: 47660 + gain_ct: 12577 + phase_b: + current: + name: "EMON CT2 Current" + power: + name: "EMON Active Power CT2" + gain_voltage: 47660 + gain_ct: 12577 + phase_c: + current: + name: "EMON CT3 Current" + power: + name: "EMON Active Power CT3" + gain_voltage: 47660 + gain_ct: 12577 + frequency: + name: "EMON Line Frequency" + line_frequency: 50Hz + gain_pga: 2X + - platform: bh1750 + name: "Living Room Brightness 3" + internal: true + address: 0x23 + resolution: 1.0 + update_interval: 30s + retain: False + availability: + state_topic: livingroom/custom_state_topic + - platform: bme280 + temperature: + name: "Outside Temperature" + oversampling: 16x + pressure: + name: "Outside Pressure" + oversampling: none + humidity: + name: "Outside Humidity" + oversampling: 8x + address: 0x77 + iir_filter: 16x + update_interval: 15s + - platform: bme680 + temperature: + name: "Outside Temperature" + oversampling: 16x + pressure: + name: "Outside Pressure" + humidity: + name: "Outside Humidity" + gas_resistance: + name: "Outside Gas Sensor" + address: 0x77 + heater: + temperature: 320 + duration: 150ms + update_interval: 15s + - platform: bmp085 + temperature: + name: "Outside Temperature" + 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" + oversampling: 16x + pressure: + name: "Outside Pressure" + address: 0x77 + update_interval: 15s + iir_filter: 16x + - platform: dallas + address: 0x1C0000031EDD2A28 + name: "Living Room Temperature" + resolution: 9 + - platform: dallas + index: 1 + name: "Living Room Temperature 2" + - platform: dht + pin: GPIO26 + temperature: + name: "Living Room Temperature 3" + humidity: + name: "Living Room Humidity 3" + model: AM2302 + update_interval: 15s + - platform: dht12 + temperature: + name: "Living Room Temperature 4" + humidity: + name: "Living Room Humidity 4" + update_interval: 15s + - platform: duty_cycle + pin: GPIO25 + name: Duty Cycle Sensor + - platform: esp32_hall + name: "ESP32 Hall Sensor" + update_interval: 15s + - platform: hdc1080 + temperature: + name: "Living Room Temperature 5" + humidity: + name: "Living Room Pressure 5" + update_interval: 15s + - platform: hlw8012 + sel_pin: 5 + cf_pin: 14 + cf1_pin: 13 + current: + name: "HLW8012 Current" + voltage: + name: "HLW8012 Voltage" + power: + name: "HLW8012 Power" + id: hlw8012_power + update_interval: 15s + current_resistor: 0.001 ohm + voltage_divider: 2351 + change_mode_every: 16 + initial_mode: VOLTAGE + - platform: total_daily_energy + power_id: hlw8012_power + name: "HLW8012 Total Daily Energy" + - platform: integration + sensor: hlw8012_power + name: "Integration Sensor" + time_unit: s + - platform: hmc5883l + address: 0x68 + field_strength_x: + name: "HMC5883L Field Strength X" + field_strength_y: + name: "HMC5883L Field Strength Y" + field_strength_z: + name: "HMC5883L Field Strength Z" + heading: + name: "HMC5883L Heading" + range: 130uT + update_interval: 15s + - platform: hx711 + name: "HX711 Value" + dout_pin: GPIO23 + clk_pin: GPIO24 + gain: 128 + update_interval: 15s + - platform: ina219 + address: 0x40 + shunt_resistance: 0.1 ohm + current: + name: "INA219 Current" + power: + name: "INA219 Power" + bus_voltage: + name: "INA219 Bus Voltage" + shunt_voltage: + name: "INA219 Shunt Voltage" + max_voltage: 32.0V + max_current: 3.2A + update_interval: 15s + - platform: ina3221 + address: 0x40 + channel_1: + shunt_resistance: 0.1 ohm + current: + name: "INA3221 Channel 1 Current" + power: + name: "INA3221 Channel 1 Power" + bus_voltage: + name: "INA3221 Channel 1 Bus Voltage" + shunt_voltage: + name: "INA3221 Channel 1 Shunt Voltage" + update_interval: 15s + - platform: htu21d + temperature: + name: "Living Room Temperature 6" + humidity: + name: "Living Room Humidity 6" + update_interval: 15s + - platform: max6675 + name: "Living Room Temperature" + cs_pin: GPIO23 + update_interval: 15s + - platform: max31855 + name: "Den Temperature" + cs_pin: GPIO23 + update_interval: 15s + - platform: mhz19 + co2: + name: "MH-Z19 CO2 Value" + temperature: + name: "MH-Z19 Temperature" + update_interval: 15s + - platform: mpu6050 + address: 0x68 + accel_x: + name: "MPU6050 Accel X" + accel_y: + name: "MPU6050 Accel Y" + accel_z: + name: "MPU6050 Accel z" + gyro_x: + name: "MPU6050 Gyro X" + gyro_y: + name: "MPU6050 Gyro Y" + gyro_z: + name: "MPU6050 Gyro z" + temperature: + name: "MPU6050 Temperature" + - platform: ms5611 + temperature: + name: "Outside Temperature" + pressure: + name: "Outside Pressure" + address: 0x77 + update_interval: 15s + - platform: pulse_counter + name: "Pulse Counter" + pin: GPIO12 + count_mode: + rising_edge: INCREMENT + falling_edge: DECREMENT + internal_filter: 13us + update_interval: 15s + - platform: rotary_encoder + name: "Rotary Encoder" + pin_a: GPIO23 + pin_b: GPIO24 + pin_reset: GPIO25 + filters: + - or: + - debounce: 0.1s + - delta: 10 + resolution: 4 + min_value: -10 + max_value: 30 + - platform: pulse_width + name: Pulse Width + pin: GPIO12 + - platform: sht3xd + temperature: + name: "Living Room Temperature 8" + humidity: + name: "Living Room Humidity 8" + address: 0x44 + update_interval: 15s + - platform: sts3x + temperature: + name: "Living Room Temperature 9" + address: 0x4A + update_interval: 15s + - platform: template + name: "Template Sensor" + id: template_sensor + lambda: |- + if (id(ultrasonic_sensor1).state > 1) { + return 42.0; + } else { + return {}; + } + update_interval: 15s + on_value: + - sensor.template.publish: + id: template_sensor + state: 43.0 + - sensor.template.publish: + id: template_sensor + state: !lambda 'return NAN;' + - platform: tsl2561 + name: "TSL2561 Ambient Light" + address: 0x39 + update_interval: 15s + is_cs_package: true + integration_time: 402ms + gain: 16x + - platform: ultrasonic + trigger_pin: GPIO24 + echo_pin: + number: GPIO23 + inverted: true + name: "Ultrasonic Sensor" + timeout: 5.5m + id: ultrasonic_sensor1 + - platform: uptime + name: Uptime Sensor + - platform: wifi_signal + name: "WiFi Signal Sensor" + update_interval: 15s + - platform: mqtt_subscribe + name: "MQTT Subscribe Sensor 1" + topic: "mqtt/topic" + id: the_sensor + qos: 2 + on_value: + - mqtt.publish_json: + topic: the/topic + payload: |- + root["key"] = id(the_sensor).state; + root["greeting"] = "Hello World"; + - platform: sds011 + pm_2_5: + name: "SDS011 PM2.5" + pm_10_0: + name: "SDS011 PM10.0" + update_interval: 5min + rx_only: false + - platform: ccs811 + eco2: + name: CCS811 eCO2 + tvoc: + name: CCS811 TVOC + update_interval: 30s + baseline: 0x4242 + - platform: tx20 + wind_speed: + name: "Windspeed" + wind_direction_degrees: + name: "Winddirection Degrees" + pin: + number: GPIO04 + mode: INPUT + - platform: zyaura + clock_pin: GPIO5 + data_pin: GPIO4 + co2: + name: "ZyAura CO2" + temperature: + name: "ZyAura Temperature" + humidity: + name: "ZyAura Humidity" + + +esp32_touch: + setup_mode: False + iir_filter: 10ms + sleep_duration: 27ms + measurement_duration: 8ms + low_voltage_reference: 0.5V + high_voltage_reference: 2.7V + voltage_attenuation: 1.5V + +binary_sensor: + - platform: gpio + pin: GPIO9 + name: "Living Room Window" + device_class: window + filters: + - invert: + - delayed_on: 40ms + - delayed_off: 40ms + on_press: + then: + - lambda: >- + ESP_LOGD("main", "Pressed"); + on_release: + then: + - lambda: >- + ESP_LOGD("main", "Released"); + on_click: + - min_length: 50ms + max_length: 350ms + then: + - lambda: >- + ESP_LOGD("main", "Clicked"); + - then: + - lambda: >- + ESP_LOGD("main", "Clicked"); + on_double_click: + - min_length: 50ms + max_length: 350ms + then: + - lambda: >- + ESP_LOGD("main", "Double Clicked"); + - then: + - 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 + id: binary_sensor1 + - platform: gpio + pin: + number: GPIO9 + mode: INPUT_PULLUP + name: "Living Room Window 2" + - platform: status + name: "Living Room Status" + - platform: esp32_touch + 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" + - platform: template + name: "Garage Door Open" + id: garage_door + lambda: |- + if (isnan(id(my_sensor).state)) { + // isnan checks if the ultrasonic sensor echo + // has timed out, resulting in a NaN (not a number) state + // in that case, return {} to indicate that we don't know. + return {}; + } else if (id(my_sensor).state > 30) { + // Garage Door is open. + return true; + } else { + // Garage Door is closed. + return false; + } + on_press: + - binary_sensor.template.publish: + id: garage_door + state: OFF + - platform: pn532 + uid: 74-10-37-94 + name: "PN532 NFC Tag" + - platform: rdm6300 + uid: 7616525 + name: "RDM6300 NFC Tag" + - platform: gpio + name: "PCF binary sensor" + pin: + pcf8574: pcf8574_hub + number: 1 + mode: INPUT + inverted: True + - platform: gpio + name: "MCP binary sensor" + pin: + mcp23017: mcp23017_hub + number: 1 + mode: INPUT + inverted: True + - platform: remote_receiver + 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] + +pca9685: + frequency: 500 + address: 0x0 + +my9231: + data_pin: GPIO12 + clock_pin: GPIO14 + num_channels: 6 + num_chips: 2 + bit_depth: 16 + +output: + - platform: gpio + pin: GPIO26 + id: gpio_26 + power_supply: atx_power_supply + inverted: False + - platform: ledc + pin: 19 + id: gpio_19 + frequency: 1500Hz + bit_depth: 8 + channel: 14 + max_power: 0.5 + - platform: pca9685 + id: pca_0 + channel: 0 + - platform: pca9685 + id: pca_1 + channel: 1 + - platform: pca9685 + id: pca_2 + channel: 2 + - platform: pca9685 + id: pca_3 + channel: 3 + - platform: pca9685 + id: pca_4 + channel: 4 + - platform: pca9685 + id: pca_5 + channel: 5 + - platform: pca9685 + id: pca_6 + channel: 6 + - platform: pca9685 + id: pca_7 + channel: 7 + - platform: gpio + id: id2 + pin: + pcf8574: pcf8574_hub + number: 0 + mode: OUTPUT + inverted: False + - platform: gpio + id: id22 + pin: + mcp23017: mcp23017_hub + number: 0 + mode: OUTPUT + inverted: False + - platform: my9231 + id: my_0 + channel: 0 + - platform: my9231 + id: my_1 + channel: 1 + - platform: my9231 + id: my_2 + channel: 2 + - platform: my9231 + id: my_3 + channel: 3 + - platform: my9231 + id: my_4 + channel: 4 + - platform: my9231 + id: my_5 + channel: 5 + +light: + - platform: binary + name: "Desk Lamp" + output: gpio_26 + effects: + - strobe: + - strobe: + name: "My Strobe" + colors: + - state: True + duration: 250ms + - state: False + duration: 250ms + - platform: monochromatic + name: "Kitchen Lights" + id: kitchen + output: gpio_19 + gamma_correct: 2.8 + default_transition_length: 2s + effects: + - strobe: + - flicker: + - flicker: + name: "My Flicker" + alpha: 98% + intensity: 1.5% + - lambda: + name: My Custom Effect + update_interval: 1s + lambda: |- + static int state = 0; + state += 1; + if (state == 4) + state = 0; + - platform: rgb + name: "Living Room Lights" + id: living_room_lights + red: pca_0 + green: pca_1 + blue: pca_2 + - platform: rgbw + name: "Living Room Lights 2" + red: pca_3 + green: pca_4 + blue: pca_5 + white: pca_6 + - platform: rgbww + name: "Living Room Lights 2" + red: pca_3 + green: pca_4 + blue: pca_5 + cold_white: pca_6 + warm_white: pca_6 + cold_white_color_temperature: 153 mireds + warm_white_color_temperature: 500 mireds + - platform: cwww + name: "Living Room Lights 2" + cold_white: pca_6 + warm_white: pca_6 + cold_white_color_temperature: 153 mireds + warm_white_color_temperature: 500 mireds + - platform: fastled_clockless + id: addr1 + chipset: WS2811 + pin: GPIO23 + num_leds: 60 + rgb_order: BRG + max_refresh_rate: 20ms + power_supply: atx_power_supply + color_correct: [75%, 100%, 50%] + 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" + lambda: |- + it[0] = current_color; + + - 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% + - platform: fastled_spi + id: addr2 + chipset: WS2801 + data_pin: GPIO23 + clock_pin: GPIO22 + num_leds: 60 + rgb_order: BRG + name: "FastLED SPI Light" + - platform: neopixelbus + id: addr3 + 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% + type: GRBW + variant: SK6812 + method: ESP32_I2S_0 + num_leds: 60 + pin: GPIO23 + - platform: partition + name: "Partition Light" + segments: + - id: addr1 + from: 0 + to: 0 + - id: addr2 + from: 1 + to: 10 + - id: addr2 + from: 20 + to: 25 + +remote_transmitter: + - pin: 32 + carrier_duty_percent: 100% + +climate: + - platform: tcl112 + name: TCL112 Climate With Sensor + supports_heat: True + supports_cool: True + sensor: my_sensor + - platform: tcl112 + name: TCL112 Climate + - platform: coolix + name: Coolix Climate With Sensor + supports_heat: True + supports_cool: True + sensor: my_sensor + - platform: coolix + name: Coolix Climate + +switch: + - platform: gpio + pin: GPIO25 + name: "Living Room Dehumidifier" + icon: "mdi:restart" + inverted: True + command_topic: custom_command_topic + restore_mode: ALWAYS_OFF + - platform: template + name: JVC Off + id: living_room_lights_on + turn_on_action: + remote_transmitter.transmit_jvc: + data: 0x10EF + - platform: template + name: NEC + id: living_room_lights_off + turn_on_action: + remote_transmitter.transmit_nec: + address: 0x4242 + command: 0x8484 + - platform: template + name: LG + turn_on_action: + remote_transmitter.transmit_lg: + data: 4294967295 + nbits: 28 + - platform: template + name: Samsung + turn_on_action: + remote_transmitter.transmit_samsung: + data: 0xABCDEF + - platform: template + name: Sony + turn_on_action: + remote_transmitter.transmit_sony: + data: 0xABCDEF + nbits: 12 + - platform: template + name: Panasonic + turn_on_action: + remote_transmitter.transmit_panasonic: + address: 0x4004 + command: 0x1000BCD + - platform: template + name: RC Switch Raw + turn_on_action: + remote_transmitter.transmit_rc_switch_raw: + code: '00101001100111110101xxxx' + protocol: 1 + - platform: template + name: RC Switch Type A + turn_on_action: + remote_transmitter.transmit_rc_switch_type_a: + group: '11001' + device: '01000' + state: True + protocol: + pulse_length: 175 + sync: [1, 31] + zero: [1, 3] + one: [3, 1] + inverted: False + - platform: template + name: RC Switch Type B + turn_on_action: + remote_transmitter.transmit_rc_switch_type_b: + address: 4 + channel: 2 + state: True + - platform: template + name: RC Switch Type C + turn_on_action: + remote_transmitter.transmit_rc_switch_type_c: + family: 'a' + group: 1 + device: 2 + state: True + - platform: template + name: RC Switch Type D + turn_on_action: + remote_transmitter.transmit_rc_switch_type_d: + group: 'a' + device: 2 + state: True + - platform: template + name: RC5 + turn_on_action: + remote_transmitter.transmit_rc5: + address: 0x00 + command: 0x0B + - platform: template + name: RC5 + turn_on_action: + remote_transmitter.transmit_raw: + code: [1000, -1000] + - platform: template + name: Living Room Lights + id: livingroom_lights + 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;' + turn_off_action: + - 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" + - platform: shutdown + name: "Living Room Shutdown" + - platform: output + name: "Generic Output" + output: pca_6 + - platform: template + name: "Template Switch" + id: my_switch + lambda: |- + if (id(binary_sensor1).state) { + return true; + } else { + return {}; + } + id(my_switch).publish_state(false); + id(my_switch).publish_state(true); + if (id(my_switch).state) { + // Switch is ON, do something here + id(my_switch).turn_off(); + id(my_switch).turn_on(); + } else { + // Switch is OFF, do something else here + } + optimistic: true + assumed_state: no + restore_state: True + on_turn_off: + - switch.template.publish: + id: my_switch + state: !lambda 'return false;' + - platform: uart + name: "UART String Output" + data: 'DataToSend' + - platform: uart + 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 + +fan: + - platform: binary + output: gpio_26 + name: "Living Room Fan 1" + - platform: speed + output: pca_6 + name: "Living Room Fan 2" + speed: + low: 0.45 + medium: 0.75 + high: 1.0 + +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 + - interval: 2s + then: + - lambda: |- + 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()); + + 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); + +display: +- platform: lcd_gpio + dimensions: 18x4 + data_pins: + - GPIO19 + - GPIO20 + - GPIO21 + - GPIO22 + enable_pin: GPIO23 + rs_pin: GPIO24 + 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: nextion + lambda: |- + it.set_component_value("gauge", 50); + it.set_component_text("textview", "Hello World!"); +- platform: ssd1306_i2c + model: "SSD1306 128x64" + reset_pin: GPIO23 + address: 0x3C + id: display1 + 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: 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()); + +remote_receiver: + pin: GPIO32 + dump: all + +status_led: + pin: GPIO2 + +pn532: + cs_pin: GPIO23 + update_interval: 1s + on_tag: + - lambda: |- + ESP_LOGD("main", "Found tag %s", x.c_str()); + - mqtt.publish: + topic: the/topic + payload: !lambda 'return x;' + +rdm6300: + +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 + +cover: + - platform: template + name: "Template Cover" + id: template_cover + lambda: |- + if (id(binary_sensor1).state) { + return COVER_OPEN; + } else { + return {}; + } + optimistic: true + open_action: + - cover.template.publish: + id: template_cover + state: CLOSED + assumed_state: no + +debug: + +pcf8574: + - id: 'pcf8574_hub' + address: 0x21 + pcf8575: False + +mcp23017: + - id: 'mcp23017_hub' + +stepper: +- platform: a4988 + id: my_stepper + step_pin: GPIO23 + dir_pin: GPIO24 + 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: "" + +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"