esphome:
name: aux-ac-01
friendly_name: aux-ac-01
esp8266:
board: d1_mini
# Enable logging
logger:
level: DEBUG
hardware_uart: UART1
# Enable Home Assistant API
api:
encryption:
key: "111111"
ota:
password: "111111"
wifi:
ssid: "111111"
password: "111111"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Aux-Ac-01 Fallback Hotspot"
password: "111111"
captive_portal:
external_components:
- source:
type: git
url: https://github.com/GrKoR/esphome_aux_ac_component
uart:
id: ac_uart_bus
tx_pin: GPIO5
rx_pin: GPIO4
baud_rate: 4800
data_bits: 8
parity: EVEN
stop_bits: 1
light:
- platform: status_led
id: status_light
pin:
number: GPIO2 # 关闭了esp的led灯,影响睡觉
inverted: true
restore_mode: ALWAYS_OFF
climate:
- platform: aux_ac
name: "AUX AC"
id: aux_id
uart_id: ac_uart_bus
period: 7s
show_action: true
display_inverted: false
timeout: 150
optimistic: true
indoor_temperature:
name: AC Indoor Temperature
id: ac_indoor_temp
internal: false
display_state:
name: AC Display State
id: ac_display_state
internal: false
outdoor_temperature:
name: AC Outdoor Temperature
id: ac_outdoor_temp
internal: false
outbound_temperature:
name: AC Coolant Outbound Temperature
id: ac_outbound_temp
internal: false
inbound_temperature:
name: AC Coolant Inbound Temperature
id: ac_inbound_temp
internal: false
compressor_temperature:
name: AC Compressor Temperature
id: ac_strange_temp
internal: false
defrost_state:
name: AC Defrost State
id: ac_defrost_state
internal: false
inverter_power:
name: AC Invertor Power
id: ac_inverter_power
internal: false
preset_reporter:
name: AC Preset Reporter
id: ac_preset_reporter
internal: false
vlouver_state:
name: AC VLouvers State
id: ac_vlouver_state
internal: false
visual:
min_temperature: 16
max_temperature: 32
temperature_step: 0.5
supported_modes:
- HEAT_COOL
- COOL
- HEAT
- DRY
- FAN_ONLY
custom_fan_modes:
- MUTE
- TURBO
supported_presets:
- SLEEP
custom_presets:
- CLEAN
- HEALTH
- ANTIFUNGUS
supported_swing_modes:
- VERTICAL
- HORIZONTAL
- BOTH
sensor:
# just wifi signal strength for debug purpose only
- platform: wifi_signal
name: AC WiFi Signal
update_interval: 30s
unit_of_measurement: "dBa"
accuracy_decimals: 0
- platform: uptime
name: AC Uptime Sensor
switch:
- platform: template
name: AC Display
lambda: |-
if (id(ac_display_state).state) {
return true;
} else {
return false;
}
turn_on_action:
- aux_ac.display_on: aux_id
turn_off_action:
- aux_ac.display_off: aux_id
button:
- platform: template
name: AC VLouver Stop
icon: "mdi:circle-small"
on_press:
- aux_ac.vlouver_stop: aux_id
- platform: template
name: AC VLouver Swing
icon: "mdi:pan-vertical"
on_press:
- aux_ac.vlouver_swing: aux_id
- platform: template
name: AC VLouver Top
icon: "mdi:pan-up"
on_press:
- aux_ac.vlouver_top: aux_id
- platform: template
name: AC VLouver Middle Above
icon: "mdi:pan-top-left"
on_press:
- aux_ac.vlouver_middle_above: aux_id
- platform: template
name: AC VLouver Middle
icon: "mdi:pan-left"
on_press:
- aux_ac.vlouver_middle: aux_id
- platform: template
name: AC VLouver Middle Below
icon: "mdi:pan-bottom-left"
on_press:
- aux_ac.vlouver_middle_below: aux_id
- platform: template
name: AC VLouver Bottom
icon: "mdi:pan-down"
on_press:
- aux_ac.vlouver_bottom: aux_id
number:
- platform: template
name: AC Vertical Louvers
id: ac_vlouver
icon: "mdi:circle-small"
mode: "slider"
min_value: 0
max_value: 6
step: 1
update_interval: 2s
lambda: |-
return id(ac_vlouver_state).state;
set_action:
then:
- aux_ac.vlouver_set:
id: aux_id
position: !lambda "return x;"
- platform: template
name: AC Power Limit
id: ac_power_limit
icon: "mdi:battery-unknown"
mode: "slider"
min_value: 30
max_value: 100
step: 1
set_action:
then:
- lambda: !lambda "id(aux_id).powerLimitationOnSequence( x );"