mirror of
https://github.com/GrKoR/esphome_aux_ac_component.git
synced 2026-01-01 14:19:13 +03:00
upd: tests update
This commit is contained in:
@@ -1,191 +0,0 @@
|
|||||||
import time
|
|
||||||
import aioesphomeapi
|
|
||||||
import asyncio
|
|
||||||
import re
|
|
||||||
import sys
|
|
||||||
import argparse
|
|
||||||
from aioesphomeapi.api_pb2 import (LOG_LEVEL_NONE,
|
|
||||||
LOG_LEVEL_ERROR,
|
|
||||||
LOG_LEVEL_WARN,
|
|
||||||
LOG_LEVEL_INFO,
|
|
||||||
LOG_LEVEL_DEBUG,
|
|
||||||
LOG_LEVEL_VERBOSE,
|
|
||||||
LOG_LEVEL_VERY_VERBOSE)
|
|
||||||
|
|
||||||
def createParser ():
|
|
||||||
parser = argparse.ArgumentParser(
|
|
||||||
description='''This script is used for collecting logs from ac_aux ESPHome component.
|
|
||||||
For more info, see https://github.com/GrKoR/ac_python_logger''',
|
|
||||||
add_help = False)
|
|
||||||
parent_group = parser.add_argument_group (title='Params')
|
|
||||||
parent_group.add_argument ('--help', '-h', action='help', help='show this help message and exit')
|
|
||||||
parent_group.add_argument ('-i', '--ip', nargs=1, required=True, help='IP address of the esphome device')
|
|
||||||
parent_group.add_argument ('-p', '--pwd', nargs=1, required=True, help='native API password for the esphome device')
|
|
||||||
return parser
|
|
||||||
|
|
||||||
async def main():
|
|
||||||
"""Connect to an ESPHome device and wait for state changes."""
|
|
||||||
api = aioesphomeapi.APIClient(namespace.ip[0], 6053, namespace.pwd[0])
|
|
||||||
|
|
||||||
try:
|
|
||||||
await api.connect(login=True)
|
|
||||||
except aioesphomeapi.InvalidAuthAPIError as e:
|
|
||||||
return print(e)
|
|
||||||
|
|
||||||
print(api.api_version)
|
|
||||||
|
|
||||||
async def display_off():
|
|
||||||
await api.execute_service(
|
|
||||||
service,
|
|
||||||
data={
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x01, 0x00, 0x0F, 0x00, 0x01, 0x01, 0x97, 0xE0, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
async def display_on():
|
|
||||||
await api.execute_service(
|
|
||||||
service,
|
|
||||||
data={
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x01, 0x00, 0x0F, 0x00, 0x01, 0x01, 0x97, 0xE0, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
async def ac_enable():
|
|
||||||
await api.execute_service(
|
|
||||||
service,
|
|
||||||
data={
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x00, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x87, 0xE0, 0x2F, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
async def ac_disable():
|
|
||||||
await api.execute_service(
|
|
||||||
service,
|
|
||||||
data={
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x00, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x87, 0xE0, 0x2F, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
async def ac_get11_01():
|
|
||||||
await api.execute_service(
|
|
||||||
service,
|
|
||||||
data={
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x00, 0x00, 0x02, 0x00, 0x11, 0x01],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
async def ac_get11_00():
|
|
||||||
await api.execute_service(
|
|
||||||
service,
|
|
||||||
data={
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x00, 0x00, 0x02, 0x00, 0x11, 0x00],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
async def ac_set_vlouver(lvr):
|
|
||||||
await api.execute_service(
|
|
||||||
service,
|
|
||||||
data={
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x00, 0x00, 0x0F, 0x00, 0x01, 0x01, lvr, 0xE0, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
async def ac_set_hlouver(lvr):
|
|
||||||
await api.execute_service(
|
|
||||||
service,
|
|
||||||
data={
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x00, 0x00, 0x0F, 0x00, 0x01, 0x01, 0x97, lvr, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
# key надо искать в выводе list_entities_services
|
|
||||||
service = aioesphomeapi.UserService(
|
|
||||||
name="send_data",
|
|
||||||
key=311254518,
|
|
||||||
args=[
|
|
||||||
aioesphomeapi.UserServiceArg(name="data_buf", type=aioesphomeapi.UserServiceArgType.INT_ARRAY),
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
time.sleep(7)
|
|
||||||
await ac_get11_00()
|
|
||||||
time.sleep(7)
|
|
||||||
await ac_get11_01()
|
|
||||||
|
|
||||||
#await ac_set_vlouver( 0b10010000 ) # swing on
|
|
||||||
#await ac_set_vlouver( 0b10010111 ) # swing off
|
|
||||||
#await ac_set_vlouver( 0b10010001 ) # 1
|
|
||||||
#await ac_set_vlouver( 0b10010010 ) # 2
|
|
||||||
#await ac_set_vlouver( 0b10010011 ) # 3
|
|
||||||
#await ac_set_vlouver( 0b10010100 ) # 4
|
|
||||||
#await ac_set_vlouver( 0b10010101 ) # 5
|
|
||||||
#await ac_set_vlouver( 0b10010110 ) # не работает, сбрасывает на swing on
|
|
||||||
#time.sleep(5)
|
|
||||||
|
|
||||||
#await ac_set_hlouver( 0b00000000 ) # swing on
|
|
||||||
#await ac_set_hlouver( 0b11100000 ) # swing off
|
|
||||||
#await ac_set_hlouver( 0b00100000 ) # не работает, сбрасывает в swing off
|
|
||||||
#await ac_set_hlouver( 0b01000000 ) # не работает, сбрасывает в swing off
|
|
||||||
#await ac_set_hlouver( 0b01100000 ) # не работает, сбрасывает в swing off
|
|
||||||
#await ac_set_hlouver( 0b10000000 ) # не работает, сбрасывает в swing off
|
|
||||||
#await ac_set_hlouver( 0b10100000 ) # не работает, сбрасывает в swing off
|
|
||||||
#await ac_set_hlouver( 0b11000000 ) # не работает, сбрасывает в swing off
|
|
||||||
#time.sleep(5)
|
|
||||||
|
|
||||||
async def test_byte(bt):
|
|
||||||
await api.execute_service(
|
|
||||||
service,
|
|
||||||
data={
|
|
||||||
#display on
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
#"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x00, 0x00, 0x0F, 0x00, 0x01, 0x01, 0x97, 0xE0, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00],
|
|
||||||
#display off
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x00, 0x00, 0x0F, 0x00, 0x01, 0x01, 0x97, 0xE0, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00],
|
|
||||||
# swing on
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
#"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x00, 0x00, 0x0F, 0x00, 0x01, 0x01, 0x90, 0xE0, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00],
|
|
||||||
# swing off
|
|
||||||
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
|
||||||
#"data_buf": [0xBB, 0x00, 0x06, 0x80, 0x00, 0x00, 0x0F, 0x00, 0x01, 0x01, 0x97, 0xE0, 0x00, 0x20, 0x00, 0xC0, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
'''
|
|
||||||
не проходит команда, если байт 1 или 7 не 0x00
|
|
||||||
не проходит команда, если байт 3 не 0x80
|
|
||||||
|
|
||||||
проходит и не меняется, если меняю байт 4 или 5
|
|
||||||
'''
|
|
||||||
|
|
||||||
#await test_byte(0b10000110)
|
|
||||||
#await test_byte(0b01000110)
|
|
||||||
#await test_byte(0b00100110)
|
|
||||||
#await test_byte(0b00010110)
|
|
||||||
time.sleep(2)
|
|
||||||
|
|
||||||
|
|
||||||
parser = createParser()
|
|
||||||
namespace = parser.parse_args()
|
|
||||||
print("IP: ", namespace.ip[0])
|
|
||||||
|
|
||||||
|
|
||||||
loop = asyncio.get_event_loop()
|
|
||||||
try:
|
|
||||||
#asyncio.ensure_future(main())
|
|
||||||
#loop.run_forever()
|
|
||||||
loop.run_until_complete(main())
|
|
||||||
except aioesphomeapi.InvalidAuthAPIError as e:
|
|
||||||
print(e)
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
pass
|
|
||||||
finally:
|
|
||||||
loop.close()
|
|
||||||
pass
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
external_components:
|
external_components:
|
||||||
- source: github://GrKoR/esphome_aux_ac_component@dev
|
- source: github://GrKoR/esphome_aux_ac_component
|
||||||
components: [ aux_ac ]
|
components: [ aux_ac ]
|
||||||
refresh: 0s
|
refresh: 0s
|
||||||
|
|
||||||
@@ -58,31 +58,38 @@ climate:
|
|||||||
id: aux_id
|
id: aux_id
|
||||||
uart_id: ac_uart_bus
|
uart_id: ac_uart_bus
|
||||||
period: 7s
|
period: 7s
|
||||||
show_action: true
|
|
||||||
display_inverted: true
|
display_inverted: true
|
||||||
indoor_temperature:
|
|
||||||
name: $upper_devicename Indoor Temperature
|
|
||||||
id: ${devicename}_indoor_temp
|
|
||||||
internal: false
|
|
||||||
display_state:
|
display_state:
|
||||||
name: $upper_devicename Display State
|
name: $upper_devicename Display State
|
||||||
id: ${devicename}_display_state
|
id: ${devicename}_display_state
|
||||||
internal: false
|
internal: false
|
||||||
outdoor_temperature:
|
indoor_ambient_temperature:
|
||||||
name: $upper_devicename Outdoor Temperature
|
name: $upper_devicename Indoor Ambient Temperature
|
||||||
id: ${devicename}_outdoor_temp
|
id: ${devicename}_indoor_ambient_temp
|
||||||
internal: false
|
internal: false
|
||||||
outbound_temperature:
|
outdoor_ambient_temperature:
|
||||||
name: $upper_devicename Coolant Outbound Temperature
|
name: $upper_devicename Outdoor Ambient Temperature
|
||||||
id: ${devicename}_outbound_temp
|
id: ${devicename}_outdoor_ambient_temp
|
||||||
internal: false
|
internal: false
|
||||||
inbound_temperature:
|
outdoor_condenser_temperature:
|
||||||
name: $upper_devicename Coolant Inbound Temperature
|
name: $upper_devicename Outdoor Condenser Temperature
|
||||||
id: ${devicename}_inbound_temp
|
id: ${devicename}_outdoor_condenser_temp
|
||||||
internal: false
|
internal: false
|
||||||
compressor_temperature:
|
compressor_suction_temperature:
|
||||||
name: $upper_devicename Compressor Temperature
|
name: $upper_devicename Compressor Suction Temperature
|
||||||
id: ${devicename}_strange_temp
|
id: ${devicename}_compressor_suction_temp
|
||||||
|
internal: false
|
||||||
|
indoor_coil_temperature:
|
||||||
|
name: $upper_devicename Indoor Coil Temperature
|
||||||
|
id: ${devicename}_indoor_coil_temp
|
||||||
|
internal: false
|
||||||
|
compressor_discharge_temperature:
|
||||||
|
name: $upper_devicename Compressor Discharge Temperature
|
||||||
|
id: ${devicename}_compressor_discharge_temp
|
||||||
|
internal: false
|
||||||
|
defrost_temperature:
|
||||||
|
name: $upper_devicename Defrost Temperature
|
||||||
|
id: ${devicename}_defrost_temp
|
||||||
internal: false
|
internal: false
|
||||||
defrost_state:
|
defrost_state:
|
||||||
name: $upper_devicename Defrost State
|
name: $upper_devicename Defrost State
|
||||||
|
|||||||
@@ -1,156 +0,0 @@
|
|||||||
external_components:
|
|
||||||
- source: github://GrKoR/esphome_aux_ac_component@dev
|
|
||||||
components: [ aux_ac ]
|
|
||||||
refresh: 0s
|
|
||||||
|
|
||||||
substitutions:
|
|
||||||
devicename: test_aux_ac_ext_engeneer
|
|
||||||
upper_devicename: Test AUX
|
|
||||||
|
|
||||||
esphome:
|
|
||||||
name: $devicename
|
|
||||||
platform: ESP8266
|
|
||||||
board: esp12e
|
|
||||||
|
|
||||||
wifi:
|
|
||||||
ssid: !secret wifi_ssid
|
|
||||||
password: !secret wifi_pass
|
|
||||||
manual_ip:
|
|
||||||
static_ip: !secret wifi_ip
|
|
||||||
gateway: !secret wifi_gateway
|
|
||||||
subnet: !secret wifi_subnet
|
|
||||||
dns1: 8.8.8.8
|
|
||||||
dns2: 1.1.1.1
|
|
||||||
reboot_timeout: 0s
|
|
||||||
ap:
|
|
||||||
ssid: Test AUX Fallback Hotspot
|
|
||||||
password: !secret wifi_ap_pass
|
|
||||||
|
|
||||||
logger:
|
|
||||||
level: DEBUG
|
|
||||||
baud_rate: 0
|
|
||||||
|
|
||||||
api:
|
|
||||||
password: !secret api_pass
|
|
||||||
reboot_timeout: 0s
|
|
||||||
services:
|
|
||||||
# этот сервис можно вызвать из Home Assistant или Python. Он отправляет полученные байты в кондиционер
|
|
||||||
- service: send_data
|
|
||||||
variables:
|
|
||||||
data_buf: int[]
|
|
||||||
then:
|
|
||||||
# ВАЖНО! Только для инженеров!
|
|
||||||
# Вызывайте метод aux_ac.send_packet только если понимаете, что делаете! Он не проверяет данные, а передаёт
|
|
||||||
# кондиционеру всё как есть. Какой эффект получится от передачи кондиционеру рандомных байт, никто не знает.
|
|
||||||
# Вы действуете на свой страх и риск.
|
|
||||||
- aux_ac.send_packet:
|
|
||||||
id: aux_id
|
|
||||||
data: !lambda |-
|
|
||||||
std::vector<uint8_t> data{};
|
|
||||||
for (int n : data_buf) {
|
|
||||||
data.push_back( (uint8_t) n );
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
|
|
||||||
ota:
|
|
||||||
password: !secret ota_pass
|
|
||||||
|
|
||||||
web_server:
|
|
||||||
port: 80
|
|
||||||
|
|
||||||
uart:
|
|
||||||
id: ac_uart_bus
|
|
||||||
tx_pin: GPIO1
|
|
||||||
rx_pin: GPIO3
|
|
||||||
baud_rate: 4800
|
|
||||||
data_bits: 8
|
|
||||||
parity: EVEN
|
|
||||||
stop_bits: 1
|
|
||||||
|
|
||||||
sensor:
|
|
||||||
- platform: uptime
|
|
||||||
name: Uptime Sensor
|
|
||||||
|
|
||||||
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}_invertor_power
|
|
||||||
internal: false
|
|
||||||
preset_reporter:
|
|
||||||
name: $upper_devicename Preset Reporter
|
|
||||||
id: ${devicename}_preset_reporter
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
switch:
|
|
||||||
- platform: template
|
|
||||||
name: AC 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
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
external_components:
|
external_components:
|
||||||
- source: github://GrKoR/esphome_aux_ac_component@dev
|
- source: github://GrKoR/esphome_aux_ac_component
|
||||||
components: [ aux_ac ]
|
components: [ aux_ac ]
|
||||||
refresh: 0s
|
refresh: 0s
|
||||||
|
|
||||||
@@ -59,32 +59,39 @@ climate:
|
|||||||
id: aux_id
|
id: aux_id
|
||||||
uart_id: ac_uart_bus
|
uart_id: ac_uart_bus
|
||||||
period: 7s
|
period: 7s
|
||||||
show_action: true
|
|
||||||
display_inverted: true
|
display_inverted: true
|
||||||
timeout: 150
|
timeout: 300
|
||||||
indoor_temperature:
|
|
||||||
name: $upper_devicename Indoor Temperature
|
|
||||||
id: ${devicename}_indoor_temp
|
|
||||||
internal: false
|
|
||||||
display_state:
|
display_state:
|
||||||
name: $upper_devicename Display State
|
name: $upper_devicename Display State
|
||||||
id: ${devicename}_display_state
|
id: ${devicename}_display_state
|
||||||
internal: false
|
internal: false
|
||||||
outdoor_temperature:
|
indoor_ambient_temperature:
|
||||||
name: $upper_devicename Outdoor Temperature
|
name: $upper_devicename Indoor Ambient Temperature
|
||||||
id: ${devicename}_outdoor_temp
|
id: ${devicename}_indoor_ambient_temp
|
||||||
internal: false
|
internal: false
|
||||||
outbound_temperature:
|
outdoor_ambient_temperature:
|
||||||
name: $upper_devicename Coolant Outbound Temperature
|
name: $upper_devicename Outdoor Ambient Temperature
|
||||||
id: ${devicename}_outbound_temp
|
id: ${devicename}_outdoor_ambient_temp
|
||||||
internal: false
|
internal: false
|
||||||
inbound_temperature:
|
outdoor_condenser_temperature:
|
||||||
name: $upper_devicename Coolant Inbound Temperature
|
name: $upper_devicename Outdoor Condenser Temperature
|
||||||
id: ${devicename}_inbound_temp
|
id: ${devicename}_outdoor_condenser_temp
|
||||||
internal: false
|
internal: false
|
||||||
compressor_temperature:
|
compressor_suction_temperature:
|
||||||
name: $upper_devicename Compressor Temperature
|
name: $upper_devicename Compressor Suction Temperature
|
||||||
id: ${devicename}_strange_temp
|
id: ${devicename}_compressor_suction_temp
|
||||||
|
internal: false
|
||||||
|
indoor_coil_temperature:
|
||||||
|
name: $upper_devicename Indoor Coil Temperature
|
||||||
|
id: ${devicename}_indoor_coil_temp
|
||||||
|
internal: false
|
||||||
|
compressor_discharge_temperature:
|
||||||
|
name: $upper_devicename Compressor Discharge Temperature
|
||||||
|
id: ${devicename}_compressor_discharge_temp
|
||||||
|
internal: false
|
||||||
|
defrost_temperature:
|
||||||
|
name: $upper_devicename Defrost Temperature
|
||||||
|
id: ${devicename}_defrost_temp
|
||||||
internal: false
|
internal: false
|
||||||
defrost_state:
|
defrost_state:
|
||||||
name: $upper_devicename Defrost State
|
name: $upper_devicename Defrost State
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ climate:
|
|||||||
id: aux_id
|
id: aux_id
|
||||||
uart_id: ac_uart_bus
|
uart_id: ac_uart_bus
|
||||||
period: 7s
|
period: 7s
|
||||||
show_action: true
|
|
||||||
display_inverted: true
|
display_inverted: true
|
||||||
|
|
||||||
|
|
||||||
@@ -121,5 +120,4 @@ number:
|
|||||||
set_action:
|
set_action:
|
||||||
then:
|
then:
|
||||||
- lambda: !lambda |-
|
- lambda: !lambda |-
|
||||||
if (x == 6) x = 7; // делаем так, чтобы выключение отрабатывать корректно
|
id(aux_id).action_set_vlouver_position( static_cast<esphome::aux_airconditioner::vlouver_esphome_position_t>(x));
|
||||||
id(aux_id).setVLouverSequence( static_cast<esphome::aux_ac::ac_louver_V>(x) );
|
|
||||||
|
|||||||
@@ -59,32 +59,39 @@ climate:
|
|||||||
id: aux_id
|
id: aux_id
|
||||||
uart_id: ac_uart_bus
|
uart_id: ac_uart_bus
|
||||||
period: 7s
|
period: 7s
|
||||||
show_action: true
|
|
||||||
display_inverted: true
|
display_inverted: true
|
||||||
timeout: 150
|
timeout: 300
|
||||||
indoor_temperature:
|
|
||||||
name: $upper_devicename Indoor Temperature
|
|
||||||
id: ${devicename}_indoor_temp
|
|
||||||
internal: false
|
|
||||||
display_state:
|
display_state:
|
||||||
name: $upper_devicename Display State
|
name: $upper_devicename Display State
|
||||||
id: ${devicename}_display_state
|
id: ${devicename}_display_state
|
||||||
internal: false
|
internal: false
|
||||||
outdoor_temperature:
|
indoor_ambient_temperature:
|
||||||
name: $upper_devicename Outdoor Temperature
|
name: $upper_devicename Indoor Ambient Temperature
|
||||||
id: ${devicename}_outdoor_temp
|
id: ${devicename}_indoor_ambient_temp
|
||||||
internal: false
|
internal: false
|
||||||
outbound_temperature:
|
outdoor_ambient_temperature:
|
||||||
name: $upper_devicename Coolant Outbound Temperature
|
name: $upper_devicename Outdoor Ambient Temperature
|
||||||
id: ${devicename}_outbound_temp
|
id: ${devicename}_outdoor_ambient_temp
|
||||||
internal: false
|
internal: false
|
||||||
inbound_temperature:
|
outdoor_condenser_temperature:
|
||||||
name: $upper_devicename Coolant Inbound Temperature
|
name: $upper_devicename Outdoor Condenser Temperature
|
||||||
id: ${devicename}_inbound_temp
|
id: ${devicename}_outdoor_condenser_temp
|
||||||
internal: false
|
internal: false
|
||||||
compressor_temperature:
|
compressor_suction_temperature:
|
||||||
name: $upper_devicename Compressor Temperature
|
name: $upper_devicename Compressor Suction Temperature
|
||||||
id: ${devicename}_strange_temp
|
id: ${devicename}_compressor_suction_temp
|
||||||
|
internal: false
|
||||||
|
indoor_coil_temperature:
|
||||||
|
name: $upper_devicename Indoor Coil Temperature
|
||||||
|
id: ${devicename}_indoor_coil_temp
|
||||||
|
internal: false
|
||||||
|
compressor_discharge_temperature:
|
||||||
|
name: $upper_devicename Compressor Discharge Temperature
|
||||||
|
id: ${devicename}_compressor_discharge_temp
|
||||||
|
internal: false
|
||||||
|
defrost_temperature:
|
||||||
|
name: $upper_devicename Defrost Temperature
|
||||||
|
id: ${devicename}_defrost_temp
|
||||||
internal: false
|
internal: false
|
||||||
defrost_state:
|
defrost_state:
|
||||||
name: $upper_devicename Defrost State
|
name: $upper_devicename Defrost State
|
||||||
@@ -158,5 +165,5 @@ number:
|
|||||||
set_action:
|
set_action:
|
||||||
then:
|
then:
|
||||||
- lambda: !lambda |-
|
- lambda: !lambda |-
|
||||||
id(aux_id).powerLimitationOnSequence( x );
|
id(aux_id).action_power_limitation_on( x );
|
||||||
|
|
||||||
|
|||||||
@@ -59,33 +59,40 @@ climate:
|
|||||||
id: aux_id
|
id: aux_id
|
||||||
uart_id: ac_uart_bus
|
uart_id: ac_uart_bus
|
||||||
period: 7s
|
period: 7s
|
||||||
show_action: true
|
|
||||||
display_inverted: true
|
display_inverted: true
|
||||||
optimistic: true
|
optimistic: true
|
||||||
indoor_temperature:
|
indoor_ambient_temperature:
|
||||||
name: $upper_devicename Indoor Temperature
|
name: $upper_devicename Indoor Ambient Temperature
|
||||||
id: ${devicename}_indoor_temp
|
id: ${devicename}_indoor_ambient_temp
|
||||||
|
internal: false
|
||||||
|
outdoor_ambient_temperature:
|
||||||
|
name: $upper_devicename Outdoor Ambient Temperature
|
||||||
|
id: ${devicename}_outdoor_ambient_temp
|
||||||
|
internal: false
|
||||||
|
outdoor_condenser_temperature:
|
||||||
|
name: $upper_devicename Outdoor Condenser Temperature
|
||||||
|
id: ${devicename}_outdoor_condenser_temp
|
||||||
|
internal: false
|
||||||
|
compressor_suction_temperature:
|
||||||
|
name: $upper_devicename Compressor Suction Temperature
|
||||||
|
id: ${devicename}_compressor_suction_temp
|
||||||
|
internal: false
|
||||||
|
indoor_coil_temperature:
|
||||||
|
name: $upper_devicename Indoor Coil Temperature
|
||||||
|
id: ${devicename}_indoor_coil_temp
|
||||||
|
internal: false
|
||||||
|
compressor_discharge_temperature:
|
||||||
|
name: $upper_devicename Compressor Discharge Temperature
|
||||||
|
id: ${devicename}_compressor_discharge_temp
|
||||||
|
internal: false
|
||||||
|
defrost_temperature:
|
||||||
|
name: $upper_devicename Defrost Temperature
|
||||||
|
id: ${devicename}_defrost_temp
|
||||||
internal: false
|
internal: false
|
||||||
display_state:
|
display_state:
|
||||||
name: $upper_devicename Display State
|
name: $upper_devicename Display State
|
||||||
id: ${devicename}_display_state
|
id: ${devicename}_display_state
|
||||||
internal: false
|
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:
|
defrost_state:
|
||||||
name: $upper_devicename Defrost State
|
name: $upper_devicename Defrost State
|
||||||
id: ${devicename}_defrost_state
|
id: ${devicename}_defrost_state
|
||||||
|
|||||||
Reference in New Issue
Block a user