mirror of
https://github.com/esphome/esphome.git
synced 2024-11-10 09:17:46 +01:00
f94e9b6b1e
* Add MAX31865 sensor support, fix MAX31855 sensor. # MAX31865 Added support for the MAX31865 RTD-to-Digital Converter to measure PT100 and similar RTDs. Verified with an Adafruit unit (product ID: 3328) and a PT100 probe. # MAX31855 This was setup for incorrect SPI clock polarity and phase, and would return bad data due to a race condition measuring on the wrong edge (verified with Saleae Logic scope). Selecting the correct configuration fixes that problem. Re-wrote the decode off the datasheet to handle error states better (sends NaN as an update on failure to read temperature, which shows the value as Unknown in Home Assistant). Added the *optional* ability to monitor the internal high-precision temperature sensor, which can be nice in some applications. * Tests for MAX31855/MAX38165. * Update style to match project rules. Also fix CONF_REFERENCE_RESISTANCE and CONF_REFERENCE_TEMPERATURE being defined multiple places. Missed this when I added them to const.py. * Update style to match project rules. Pylint line limit 101/100 ("missed it by that much"). Also apparently I can't read and patched the wrong line in max31855.cpp. * Minor string/style cleanup. There was a copy-paste leftover in max31855.cpp and max31865/sensor.py had unnecessary whitespace. * Improve MAX31865 fault detection and logging. Log levels are more in-line with the documented descriptions. Fault detection code is improved. A transient fault between reads is still reported, but now only faults *during* a read cause the sensor to fail and return NAN ("unknown" in Home Assistant). * Update style to match project rules. I just now realized the .clang-format and pylintrc files are included. D'oh! * MAX31855 & MAX31865 code style alignment. @OttoWinter caught some style mismatches, updated to match project better. * Fix a lost '\' in max31865/sensor.py.
1500 lines
34 KiB
YAML
1500 lines
34 KiB
YAML
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
|
|
- topic: livingroom/ota_mode
|
|
then:
|
|
- 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 {};
|
|
|
|
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
|
|
|
|
ads1115:
|
|
address: 0x48
|
|
|
|
dallas:
|
|
pin: GPIO23
|
|
|
|
as3935_spi:
|
|
cs_pin: GPIO12
|
|
irq_pin: GPIO13
|
|
|
|
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
|
|
force_update: true
|
|
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
|
|
- median:
|
|
window_size: 5
|
|
send_every: 5
|
|
send_first_at: 3
|
|
- 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
|
|
reference_temperature:
|
|
name: "MAX31855 Internal Temperature"
|
|
- platform: max31865
|
|
name: "Water Tank Temperature"
|
|
cs_pin: GPIO23
|
|
update_interval: 15s
|
|
reference_resistance: "430 Ω"
|
|
rtd_nominal_resistance: "100 Ω"
|
|
- platform: mhz19
|
|
co2:
|
|
name: "MH-Z19 CO2 Value"
|
|
temperature:
|
|
name: "MH-Z19 Temperature"
|
|
update_interval: 15s
|
|
automatic_baseline_calibration: false
|
|
- 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"
|
|
id: rotary_encoder1
|
|
pin_a: GPIO23
|
|
pin_b: GPIO24
|
|
pin_reset: GPIO25
|
|
filters:
|
|
- or:
|
|
- debounce: 0.1s
|
|
- delta: 10
|
|
resolution: 4
|
|
min_value: -10
|
|
max_value: 30
|
|
on_value:
|
|
- sensor.rotary_encoder.set_value:
|
|
id: rotary_encoder1
|
|
value: 10
|
|
- sensor.rotary_encoder.set_value:
|
|
id: rotary_encoder1
|
|
value: !lambda 'return -1;'
|
|
- platform: pulse_width
|
|
name: Pulse Width
|
|
pin: GPIO12
|
|
- platform: senseair
|
|
co2:
|
|
name: "SenseAir CO2 Value"
|
|
update_interval: 15s
|
|
- platform: sht3xd
|
|
temperature:
|
|
name: "Living Room Temperature 8"
|
|
humidity:
|
|
name: "Living Room Humidity 8"
|
|
address: 0x44
|
|
update_interval: 15s
|
|
- platform: sts3x
|
|
name: "Living Room Temperature 9"
|
|
address: 0x4A
|
|
- platform: scd30
|
|
co2:
|
|
name: "Living Room CO2 9"
|
|
temperature:
|
|
name: "Living Room Temperature 9"
|
|
humidity:
|
|
name: "Living Room Humidity 9"
|
|
address: 0x61
|
|
update_interval: 15s
|
|
- platform: sgp30
|
|
eco2:
|
|
name: "Workshop eCO2"
|
|
accuracy_decimals: 1
|
|
tvoc:
|
|
name: "Workshop TVOC"
|
|
accuracy_decimals: 1
|
|
address: 0x58
|
|
update_interval: 5s
|
|
- platform: shtcx
|
|
temperature:
|
|
name: "Living Room Temperature 10"
|
|
humidity:
|
|
name: "Living Room Humidity 10"
|
|
address: 0x70
|
|
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"
|
|
- platform: as3935
|
|
lightning_energy:
|
|
name: "Lightning Energy"
|
|
distance:
|
|
name: "Distance Storm"
|
|
|
|
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
|
|
- output.ledc.set_frequency:
|
|
id: gpio_19
|
|
frequency: 500.0Hz
|
|
- output.ledc.set_frequency:
|
|
id: gpio_19
|
|
frequency: !lambda 'return 500.0;'
|
|
- 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: "MCP21 binary sensor"
|
|
pin:
|
|
mcp23017: mcp23017_hub
|
|
number: 1
|
|
mode: INPUT
|
|
inverted: True
|
|
- platform: gpio
|
|
name: "MCP22 binary sensor"
|
|
pin:
|
|
mcp23008: mcp23008_hub
|
|
number: 7
|
|
mode: INPUT_PULLUP
|
|
inverted: False
|
|
|
|
- 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]
|
|
- platform: as3935
|
|
name: "Storm Alert"
|
|
|
|
pca9685:
|
|
frequency: 500
|
|
address: 0x0
|
|
|
|
tlc59208f:
|
|
- address: 0x20
|
|
id: tlc59208f_1
|
|
- address: 0x22
|
|
id: tlc59208f_2
|
|
- address: 0x24
|
|
id: tlc59208f_3
|
|
|
|
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
|
|
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: tlc59208f
|
|
id: tlc_0
|
|
channel: 0
|
|
tlc59208f_id: 'tlc59208f_1'
|
|
- platform: tlc59208f
|
|
id: tlc_1
|
|
channel: 1
|
|
tlc59208f_id: 'tlc59208f_1'
|
|
- platform: tlc59208f
|
|
id: tlc_2
|
|
channel: 2
|
|
tlc59208f_id: 'tlc59208f_1'
|
|
- platform: tlc59208f
|
|
id: tlc_3
|
|
channel: 0
|
|
tlc59208f_id: 'tlc59208f_2'
|
|
- platform: tlc59208f
|
|
id: tlc_4
|
|
channel: 1
|
|
tlc59208f_id: 'tlc59208f_2'
|
|
- platform: tlc59208f
|
|
id: tlc_5
|
|
channel: 2
|
|
tlc59208f_id: 'tlc59208f_2'
|
|
- platform: tlc59208f
|
|
id: tlc_6
|
|
channel: 0
|
|
tlc59208f_id: 'tlc59208f_3'
|
|
- platform: tlc59208f
|
|
id: tlc_7
|
|
channel: 1
|
|
tlc59208f_id: 'tlc59208f_3'
|
|
- platform: tlc59208f
|
|
id: tlc_8
|
|
channel: 2
|
|
tlc59208f_id: 'tlc59208f_3'
|
|
- 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: gpio
|
|
id: id23
|
|
pin:
|
|
mcp23008: mcp23008_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
|
|
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: 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'
|
|
|
|
mcp23008:
|
|
- id: 'mcp23008_hub'
|
|
address: 0x22
|
|
|
|
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"
|