mirror of
https://github.com/GrKoR/esphome_aux_ac_component.git
synced 2025-12-06 03:26:56 +03:00
234 lines
5.5 KiB
YAML
234 lines
5.5 KiB
YAML
# DON'T COMPILE THIS FILE
|
|
# This file contains common settings for all air conditioners of your house
|
|
external_components:
|
|
- source: github://GrKoR/esphome_aux_ac_component
|
|
components: [ aux_ac ]
|
|
refresh: 0s
|
|
|
|
esphome:
|
|
name: $devicename
|
|
|
|
esp8266:
|
|
board: esp12e
|
|
|
|
wifi:
|
|
ssid: !secret wifi_ssid
|
|
password: !secret wifi_pass
|
|
manual_ip:
|
|
static_ip: ${wifi_ip}
|
|
gateway: !secret wifi_gateway
|
|
subnet: !secret wifi_subnet
|
|
ap:
|
|
ssid: ${upper_devicename} Hotspot
|
|
password: !secret wifi_ap_pass
|
|
use_address: ${wifi_ota_ip}
|
|
|
|
captive_portal:
|
|
debug:
|
|
|
|
logger:
|
|
level: DEBUG
|
|
baud_rate: 0
|
|
# set hardware_uart to UART1 and comment out baud_rate above in case of boot crashes
|
|
# it is suitable if you need hardware loggin
|
|
# hardware_uart: UART1
|
|
|
|
api:
|
|
password: !secret api_pass
|
|
|
|
ota:
|
|
- platform: esphome
|
|
password: !secret ota_pass
|
|
|
|
web_server:
|
|
port: 80
|
|
auth:
|
|
username: !secret web_server_user
|
|
password: !secret web_server_password
|
|
|
|
# UART0 configuration for AUX air conditioner communication
|
|
uart:
|
|
id: ac_uart_bus
|
|
# ATTENTION! Use GPIO4 (D2) and GPIO5 (D1) as the TX and RX for NodeMCU-like boards!
|
|
tx_pin: GPIO1
|
|
rx_pin: GPIO3
|
|
baud_rate: 4800
|
|
data_bits: 8
|
|
parity: EVEN
|
|
stop_bits: 1
|
|
|
|
|
|
|
|
climate:
|
|
- platform: aux_ac
|
|
name: ${upper_devicename}
|
|
id: aux_id
|
|
uart_id: ac_uart_bus
|
|
period: 7s
|
|
show_action: true
|
|
display_inverted: true
|
|
optimistic: true
|
|
indoor_temperature:
|
|
name: ${upper_devicename} Indoor Temperature
|
|
id: ${devicename}_indoor_temp
|
|
internal: false
|
|
display_state:
|
|
name: ${upper_devicename} Display State
|
|
id: ${devicename}_display_state
|
|
internal: false
|
|
outdoor_temperature:
|
|
name: ${upper_devicename} Outdoor Temperature
|
|
id: ${devicename}_outdoor_temp
|
|
internal: false
|
|
outbound_temperature:
|
|
name: ${upper_devicename} Coolant Outbound Temperature
|
|
id: ${devicename}_outbound_temp
|
|
internal: false
|
|
inbound_temperature:
|
|
name: ${upper_devicename} Coolant Inbound Temperature
|
|
id: ${devicename}_inbound_temp
|
|
internal: false
|
|
compressor_temperature:
|
|
name: ${upper_devicename} Compressor Temperature
|
|
id: ${devicename}_strange_temp
|
|
internal: false
|
|
defrost_state:
|
|
name: ${upper_devicename} Defrost State
|
|
id: ${devicename}_defrost_state
|
|
internal: false
|
|
inverter_power:
|
|
name: ${upper_devicename} Invertor Power
|
|
id: ${devicename}_inverter_power
|
|
internal: false
|
|
preset_reporter:
|
|
name: ${upper_devicename} Preset Reporter
|
|
id: ${devicename}_preset_reporter
|
|
internal: false
|
|
vlouver_state:
|
|
name: ${upper_devicename} VLouvers State
|
|
id: ${devicename}_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: ${upper_devicename} WiFi Signal
|
|
update_interval: 30s
|
|
unit_of_measurement: "dBa"
|
|
accuracy_decimals: 0
|
|
|
|
- platform: uptime
|
|
name: ${upper_devicename} Uptime Sensor
|
|
|
|
switch:
|
|
- platform: template
|
|
name: ${upper_devicename} Display
|
|
lambda: |-
|
|
if (id(${devicename}_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: ${upper_devicename} VLouver Stop
|
|
icon: "mdi:circle-small"
|
|
on_press:
|
|
- aux_ac.vlouver_stop: aux_id
|
|
|
|
- platform: template
|
|
name: ${upper_devicename} VLouver Swing
|
|
icon: "mdi:pan-vertical"
|
|
on_press:
|
|
- aux_ac.vlouver_swing: aux_id
|
|
|
|
- platform: template
|
|
name: ${upper_devicename} VLouver Top
|
|
icon: "mdi:pan-up"
|
|
on_press:
|
|
- aux_ac.vlouver_top: aux_id
|
|
|
|
- platform: template
|
|
name: ${upper_devicename} VLouver Middle Above
|
|
icon: "mdi:pan-top-left"
|
|
on_press:
|
|
- aux_ac.vlouver_middle_above: aux_id
|
|
|
|
- platform: template
|
|
name: ${upper_devicename} VLouver Middle
|
|
icon: "mdi:pan-left"
|
|
on_press:
|
|
- aux_ac.vlouver_middle: aux_id
|
|
|
|
- platform: template
|
|
name: ${upper_devicename} VLouver Middle Below
|
|
icon: "mdi:pan-bottom-left"
|
|
on_press:
|
|
- aux_ac.vlouver_middle_below: aux_id
|
|
|
|
- platform: template
|
|
name: ${upper_devicename} VLouver Bottom
|
|
icon: "mdi:pan-down"
|
|
on_press:
|
|
- aux_ac.vlouver_bottom: aux_id
|
|
|
|
|
|
number:
|
|
- platform: template
|
|
name: ${upper_devicename} Vertical Louvers
|
|
id: ${devicename}_vlouver
|
|
icon: "mdi:circle-small"
|
|
mode: "slider"
|
|
min_value: 0
|
|
max_value: 6
|
|
step: 1
|
|
update_interval: 2s
|
|
lambda: |-
|
|
return id(${devicename}_vlouver_state).state;
|
|
set_action:
|
|
then:
|
|
- aux_ac.vlouver_set:
|
|
id: aux_id
|
|
position: !lambda "return x;"
|
|
|
|
- platform: template
|
|
name: ${upper_devicename} Power Limit
|
|
id: ${devicename}_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 );"
|