Found 3rd Aircon msg type.

This commit is contained in:
Your Name 2023-03-14 11:26:16 +01:00
parent fb307b5584
commit 14802abf0f
2 changed files with 30 additions and 2 deletions

View File

@ -358,6 +358,13 @@ const u_int8_t *TrumaiNetBoxApp::lin_multiframe_recieved(const u_int8_t *message
// SID<---------PREAMBLE---------->|<---MSG_HEAD---->| // SID<---------PREAMBLE---------->|<---MSG_HEAD---->|
// BB.00.1F.00.1E.00.00.22.FF.FF.FF.54.01.16.3F.00.E2.00.00.71.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00 // BB.00.1F.00.1E.00.00.22.FF.FF.FF.54.01.16.3F.00.E2.00.00.71.01.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00
return response; return response;
} else if (header->message_type == STATUS_FRAME_AIRCON2 &&
header->message_length == sizeof(StatusFrameAircon2)) {
ESP_LOGI(TAG, "StatusFrameAircon2");
// Example:
// SID<---------PREAMBLE---------->|<---MSG_HEAD---->|
// BB.00.1F.00.1E.00.00.22.FF.FF.FF.54.01.12.37.00.BF.01.00.01.00.00.00.00.00.00.00.00.00.00.00.49.0B.40.0B
return response;
} else if (header->message_type == STATUS_FRAME_TIMER && header->message_length == sizeof(StatusFrameTimer)) { } else if (header->message_type == STATUS_FRAME_TIMER && header->message_length == sizeof(StatusFrameTimer)) {
ESP_LOGI(TAG, "StatusFrameTimer"); ESP_LOGI(TAG, "StatusFrameTimer");
// EXAMPLE: // EXAMPLE:

View File

@ -34,8 +34,8 @@ namespace truma_inetbox {
#define STATUS_FRAME_HEATER 0x33 #define STATUS_FRAME_HEATER 0x33
#define STATUS_FRAME_AIRCON_RESPONSE (STATUS_FRAME_AIRCON - 1) #define STATUS_FRAME_AIRCON_RESPONSE (STATUS_FRAME_AIRCON - 1)
#define STATUS_FRAME_AIRCON 0x35 #define STATUS_FRAME_AIRCON 0x35
// Error response - unknown function #define STATUS_FRAME_AIRCON2_RESPONSE (STATUS_FRAME_AIRCON2 - 1)
#define STATUS_FRAME_UNKNOWN_36 0x36 #define STATUS_FRAME_AIRCON2 0x37
#define STATUS_FRAME_TIMER_RESPONSE (STATUS_FRAME_TIMER - 1) #define STATUS_FRAME_TIMER_RESPONSE (STATUS_FRAME_TIMER - 1)
#define STATUS_FRAME_TIMER 0x3D #define STATUS_FRAME_TIMER 0x3D
#define STATUS_FRAME_AIRCON_INIT_RESPONSE (STATUS_FRAME_AIRCON_INIT - 1) #define STATUS_FRAME_AIRCON_INIT_RESPONSE (STATUS_FRAME_AIRCON_INIT - 1)
@ -408,6 +408,26 @@ struct StatusFrameAirconInit { // NOLINT(altera-struct-pack-align)
u_int8_t unknown_22; // 0x00 u_int8_t unknown_22; // 0x00
} __attribute__((packed)); } __attribute__((packed));
// Length 18 (0x12)
struct StatusFrameAircon2 { // NOLINT(altera-struct-pack-align)
u_int8_t unknown_01; // 0x01
u_int8_t unknown_02; // 0x00
u_int8_t unknown_03; // 0x01
u_int8_t unknown_04; // 0x00
u_int8_t unknown_05; // 0x00
u_int8_t unknown_06; // 0x00
u_int8_t unknown_07; // 0x00
u_int8_t unknown_08; // 0x00
u_int8_t unknown_09; // 0x00
u_int8_t unknown_10; // 0x00
u_int8_t unknown_11; // 0x00
u_int8_t unknown_12; // 0x00
u_int8_t unknown_13; // 0x00
u_int8_t unknown_14; // 0x00
u_int16_t current_temp;
u_int16_t target_temp;
} __attribute__((packed));
union StatusFrame { // NOLINT(altera-struct-pack-align) union StatusFrame { // NOLINT(altera-struct-pack-align)
u_int8_t raw[41]; u_int8_t raw[41];
struct inner { // NOLINT(altera-struct-pack-align) struct inner { // NOLINT(altera-struct-pack-align)
@ -423,6 +443,7 @@ union StatusFrame { // NOLINT(altera-struct-pack-align)
StatusFrameConfig config; StatusFrameConfig config;
StatusFrameDevice device; StatusFrameDevice device;
StatusFrameAirconInit airconInit; StatusFrameAirconInit airconInit;
StatusFrameAircon2 aircon2;
} __attribute__((packed)); } __attribute__((packed));
} inner; } inner;
} __attribute__((packed)); } __attribute__((packed));