ESPHome
2024.11.0
esphome
esphome
components
haier
smartair2_packet.h
Go to the documentation of this file.
1
#pragma once
2
3
namespace
esphome
{
4
namespace
haier {
5
namespace
smartair2_protocol {
6
7
enum class
ConditioningMode
: uint8_t {
AUTO
= 0x00,
COOL
= 0x01,
HEAT
= 0x02,
FAN
= 0x03,
DRY
= 0x04 };
8
9
enum class
FanMode
: uint8_t {
FAN_HIGH
= 0x00,
FAN_MID
= 0x01,
FAN_LOW
= 0x02,
FAN_AUTO
= 0x03 };
10
11
struct
HaierPacketControl
{
12
// Control bytes starts here
13
// 10
14
uint8_t : 8;
// Temperature high byte
15
// 11
16
uint8_t
room_temperature
;
// current room temperature 1°C step
17
// 12
18
uint8_t : 8;
// Humidity high byte
19
// 13
20
uint8_t
room_humidity
;
// Humidity 0%-100% with 1% step
21
// 14
22
uint8_t : 8;
23
// 15
24
uint8_t
cntrl
;
// In AC => ESP packets - 0x7F, in ESP => AC packets - 0x00
25
// 16
26
uint8_t : 8;
27
// 17
28
uint8_t : 8;
29
// 18
30
uint8_t : 8;
31
// 19
32
uint8_t : 8;
33
// 20
34
uint8_t : 8;
35
// 21
36
uint8_t
ac_mode
;
// See enum ConditioningMode
37
// 22
38
uint8_t : 8;
39
// 23
40
uint8_t
fan_mode
;
// See enum FanMode
41
// 24
42
uint8_t : 8;
43
// 25
44
uint8_t
swing_mode
;
// In normal mode: If 1 - swing both direction, if 0 - horizontal_swing and
45
// vertical_swing define vertical/horizontal/off
46
// In alternative mode: 0 - off, 01 - vertical, 02 - horizontal, 03 - both
47
// 26
48
uint8_t : 3;
49
uint8_t
use_fahrenheit
: 1;
50
uint8_t : 3;
51
uint8_t
lock_remote
: 1;
// Disable remote
52
// 27
53
uint8_t
ac_power
: 1;
// Is ac on or off
54
uint8_t : 2;
55
uint8_t
health_mode
: 1;
// Health mode on or off
56
uint8_t
compressor
: 1;
// Compressor on or off ???
57
uint8_t
half_degree
: 1;
// Use half degree
58
uint8_t
ten_degree
: 1;
// 10 degree status (only work in heat mode)
59
uint8_t : 0;
60
// 28
61
uint8_t : 8;
62
// 29
63
uint8_t
use_swing_bits
: 1;
// Indicate if horizontal_swing and vertical_swing should be used
64
uint8_t
turbo_mode
: 1;
// Turbo mode
65
uint8_t
quiet_mode
: 1;
// Sleep mode
66
uint8_t
horizontal_swing
: 1;
// Horizontal swing (if swing_both == 0)
67
uint8_t
vertical_swing
: 1;
// Vertical swing (if swing_both == 0) if vertical_swing and horizontal_swing both 0 =>
68
// swing off
69
uint8_t
display_status
: 1;
// Led on or off
70
uint8_t : 0;
71
// 30
72
uint8_t : 8;
73
// 31
74
uint8_t : 8;
75
// 32
76
uint8_t : 8;
// Target temperature high byte
77
// 33
78
uint8_t
set_point
;
// Target temperature with 16°C offset, 1°C step
79
};
80
81
struct
HaierStatus
{
82
uint16_t
subcommand
;
83
HaierPacketControl
control
;
84
};
85
86
}
// namespace smartair2_protocol
87
}
// namespace haier
88
}
// namespace esphome
esphome::haier::smartair2_protocol::FanMode::FAN_HIGH
esphome::haier::smartair2_protocol::HaierPacketControl::lock_remote
uint8_t lock_remote
Definition:
smartair2_packet.h:51
esphome::haier::smartair2_protocol::FanMode
FanMode
Definition:
smartair2_packet.h:9
esphome::haier::smartair2_protocol::HaierPacketControl::ac_mode
uint8_t ac_mode
Definition:
smartair2_packet.h:36
esphome::haier::smartair2_protocol::HaierPacketControl::set_point
uint8_t set_point
Definition:
smartair2_packet.h:78
esphome::haier::smartair2_protocol::ConditioningMode::COOL
esphome::haier::smartair2_protocol::HaierPacketControl::room_humidity
uint8_t room_humidity
Definition:
smartair2_packet.h:20
esphome::haier::smartair2_protocol::HaierPacketControl::quiet_mode
uint8_t quiet_mode
Definition:
smartair2_packet.h:65
esphome::haier::smartair2_protocol::HaierPacketControl::cntrl
uint8_t cntrl
Definition:
smartair2_packet.h:24
esphome::haier::smartair2_protocol::HaierStatus::control
HaierPacketControl control
Definition:
smartair2_packet.h:83
esphome::haier::smartair2_protocol::HaierPacketControl::display_status
uint8_t display_status
Definition:
smartair2_packet.h:69
esphome::haier::smartair2_protocol::ConditioningMode::HEAT
esphome::haier::smartair2_protocol::HaierStatus
Definition:
smartair2_packet.h:81
esphome::haier::smartair2_protocol::ConditioningMode::AUTO
esphome::haier::smartair2_protocol::HaierPacketControl::use_fahrenheit
uint8_t use_fahrenheit
Definition:
smartair2_packet.h:49
esphome::haier::smartair2_protocol::HaierPacketControl::room_temperature
uint8_t room_temperature
Definition:
smartair2_packet.h:16
esphome::haier::smartair2_protocol::ConditioningMode::DRY
esphome::haier::smartair2_protocol::FanMode::FAN_AUTO
esphome::haier::smartair2_protocol::HaierPacketControl
Definition:
smartair2_packet.h:11
esphome::haier::smartair2_protocol::ConditioningMode
ConditioningMode
Definition:
smartair2_packet.h:7
esphome::haier::smartair2_protocol::HaierPacketControl::swing_mode
uint8_t swing_mode
Definition:
smartair2_packet.h:44
esphome::haier::smartair2_protocol::HaierPacketControl::fan_mode
uint8_t fan_mode
Definition:
smartair2_packet.h:40
esphome::haier::smartair2_protocol::ConditioningMode::FAN
esphome::haier::smartair2_protocol::HaierPacketControl::ten_degree
uint8_t ten_degree
Definition:
smartair2_packet.h:58
esphome::haier::smartair2_protocol::HaierPacketControl::compressor
uint8_t compressor
Definition:
smartair2_packet.h:56
esphome::haier::smartair2_protocol::HaierPacketControl::turbo_mode
uint8_t turbo_mode
Definition:
smartair2_packet.h:64
esphome::haier::smartair2_protocol::HaierPacketControl::ac_power
uint8_t ac_power
Definition:
smartair2_packet.h:53
esphome::haier::smartair2_protocol::FanMode::FAN_LOW
esphome::haier::smartair2_protocol::HaierPacketControl::health_mode
uint8_t health_mode
Definition:
smartair2_packet.h:55
esphome::haier::smartair2_protocol::HaierPacketControl::horizontal_swing
uint8_t horizontal_swing
Definition:
smartair2_packet.h:66
esphome::haier::smartair2_protocol::HaierStatus::subcommand
uint16_t subcommand
Definition:
smartair2_packet.h:82
esphome
Implementation of SPI Controller mode.
Definition:
a01nyub.cpp:7
esphome::haier::smartair2_protocol::HaierPacketControl::use_swing_bits
uint8_t use_swing_bits
Definition:
smartair2_packet.h:63
esphome::haier::smartair2_protocol::HaierPacketControl::vertical_swing
uint8_t vertical_swing
Definition:
smartair2_packet.h:67
esphome::haier::smartair2_protocol::HaierPacketControl::half_degree
uint8_t half_degree
Definition:
smartair2_packet.h:57
esphome::haier::smartair2_protocol::FanMode::FAN_MID
Generated by
1.8.13