# 3v3 en svp sun 34 35 32 33 25 26 27 14 12 gnd 13 sd2 sd3 gnd 5v substitutions: devicename: furnace-room-multisensor entity_name: furnace_room_multisensor friendly_name: Furnace Room MultiSensor comment: Clever MultiSensor board: nodemcuv2 static_ip: !secret furnace-room-multisensor-ip moisture: D1 door: D2 one_wire: D5 ultrasonic_trigger: D6 ultrasonic_echo: D7 packages: network: !include common/wifi.yaml device_base: !include common/device_base.yaml web_server: !include common/web_server.yaml esphome: name: ${devicename} friendly_name: ${friendly_name} name_add_mac_suffix: false esp8266: board: ${board} # Enable logging logger: api: # Using settings from common/device_base.yaml ota: # Using settings from common/device_base.yaml one_wire: - platform: gpio pin: ${one_wire} sensor: - platform: ultrasonic trigger_pin: ${ultrasonic_trigger} echo_pin: ${ultrasonic_echo} id: ultrasonic_source update_interval: 60s internal: True filters: - sliding_window_moving_average: window_size: 5 send_every: 5 send_first_at: 1 - lambda: 'return round( x * 10.0) / 10.0;' - clamp: min_value: 0.0 max_value: 150.0 - platform: copy source_id: ultrasonic_source unit_of_measurement: "cm" state_class: measurement id: distance_from_bottom name: "Salt Level in CM" icon: mdi:arrow-collapse-up disabled_by_default: true #update_interval: 5s filters: - lambda: 'return (0.94 - x) * 100;' - clamp: min_value: 0.0 max_value: 150.0 - platform: copy source_id: ultrasonic_source unit_of_measurement: "cm" state_class: measurement id: distance_from_top name: "Salt Level From Top in CM" icon: mdi:arrow-collapse-down disabled_by_default: true #update_interval: 5s filters: - lambda: 'return x * 100;' - round: 1 - clamp: min_value: 0.0 max_value: 150.0 - platform: copy source_id: distance_from_bottom unit_of_measurement: "bags" state_class: measurement id: level_in_bags name: "Salt Level in Bags" icon: mdi:counter disabled_by_default: true #update_interval: 5s filters: - lambda: 'return x / 17.5;' - round: 1 - clamp: min_value: 0.0 max_value: 10.0 - platform: dallas_temp address: 0x5a3c01d6078a2e28 name: "Probe 1" id: probe1 device_class: "temperature" update_interval: 5s filters: - lambda: return x * (9.0/5.0) + 32.0; - clamp: min_value: 0.0 max_value: 150.0 - round: 2 - or: - throttle: 60s - delta: 1.0 unit_of_measurement: "°F" state_class: measurement - platform: dallas_temp address: 0x6b3c01d6077bbb28 name: "Probe 2" id: probe2 device_class: "temperature" update_interval: 5s filters: - clamp: min_value: 0.0 max_value: 150.0 - or: - throttle: 60s - delta: 1.0 - lambda: return round( (x * (9.0/5.0) + 32.0) * 100.0) / 100.0; unit_of_measurement: "°F" state_class: measurement - platform: dallas_temp address: 0x2a3c01d6073e0728 name: "Probe 3" id: probe3 device_class: "temperature" update_interval: 5s filters: - lambda: return round( (x * (9.0/5.0) + 32.0) * 100.0) / 100.0; - clamp: min_value: 0.0 max_value: 150.0 - or: - throttle: 60s - delta: 1.0 accuracy_decimals: 2 unit_of_measurement: "°F" state_class: measurement - platform: template name: "Delta" id: hvac_delta icon: mdi:thermometer-lines lambda: |- return id(probe1).state - id(probe2).state; update_interval: 10s unit_of_measurement: "°F" state_class: measurement device_class: "" accuracy_decimals: 2 filters: - or: - throttle: 60s - delta: 1.0 binary_sensor: - platform: gpio name: "Door" device_class: door pin: number: ${door} mode: INPUT_PULLUP - platform: gpio name: "Leak" device_class: moisture pin: number: ${moisture} mode: INPUT_PULLUP inverted: true