Add device id of Truma Combi 6 D
This commit is contained in:
parent
fd7806885b
commit
176a8e0735
@ -384,7 +384,7 @@ const u_int8_t *TrumaiNetBoxApp::lin_multiframe_recieved(const u_int8_t *message
|
||||
ESP_LOGI(TAG, "StatusFrameDevice");
|
||||
// This message is special. I recieve one response per registered (at CP plus) device.
|
||||
// Example:
|
||||
// SID<---------PREAMBLE---------->|<---MSG_HEAD---->|
|
||||
// SID<---------PREAMBLE---------->|<---MSG_HEAD---->|count|??|??|Hardware|Software|??|??
|
||||
// Combi4
|
||||
// BB.00.1F.00.1E.00.00.22.FF.FF.FF.54.01.0C.0B.00.79.02.00.01.00.50.00.00.04.03.02.AD.10 - C4.03.02 0050.00
|
||||
// BB.00.1F.00.1E.00.00.22.FF.FF.FF.54.01.0C.0B.00.27.02.01.01.00.40.03.22.02.00.01.00.00 - H2.00.01 0340.22
|
||||
@ -405,21 +405,25 @@ const u_int8_t *TrumaiNetBoxApp::lin_multiframe_recieved(const u_int8_t *message
|
||||
bool found_unkown_value = false;
|
||||
if (device.unkown_0 != 0x01 || device.unkown_1 != 0x00)
|
||||
found_unkown_value = true;
|
||||
if (truma_device != TRUMA_DEVICE::HEATER_COMBI && truma_device != TRUMA_DEVICE::HEATER_VARIO &&
|
||||
truma_device != TRUMA_DEVICE::CPPLUS_COMBI && truma_device != TRUMA_DEVICE::CPPLUS_VARIO)
|
||||
if (truma_device != TRUMA_DEVICE::AIRCON_DEVICE && truma_device != TRUMA_DEVICE::HEATER_COMBI4 &&
|
||||
truma_device != TRUMA_DEVICE::HEATER_VARIO && truma_device != TRUMA_DEVICE::CPPLUS_COMBI &&
|
||||
truma_device != TRUMA_DEVICE::CPPLUS_VARIO && truma_device != TRUMA_DEVICE::HEATER_COMBI6D)
|
||||
found_unkown_value = true;
|
||||
|
||||
if (found_unkown_value)
|
||||
ESP_LOGW(TAG, "Unkown information in StatusFrameDevice found. Please report.");
|
||||
}
|
||||
|
||||
// Assumption device id one is always the heater.
|
||||
if (device.device_id == 1) {
|
||||
if (truma_device == TRUMA_DEVICE::HEATER_COMBI) {
|
||||
this->heater_device_ = TRUMA_DEVICE::HEATER_COMBI;
|
||||
if (truma_device == TRUMA_DEVICE::HEATER_COMBI4) {
|
||||
this->heater_device_ = TRUMA_DEVICE::HEATER_COMBI4;
|
||||
} else if (truma_device == TRUMA_DEVICE::HEATER_COMBI6D) {
|
||||
this->heater_device_ = TRUMA_DEVICE::HEATER_COMBI6D;
|
||||
} else if (truma_device == TRUMA_DEVICE::HEATER_VARIO) {
|
||||
this->heater_device_ = TRUMA_DEVICE::HEATER_VARIO;
|
||||
}
|
||||
|
||||
if (truma_device == TRUMA_DEVICE::AIRCON_DEVICE) {
|
||||
this->aircon_device_ = TRUMA_DEVICE::AIRCON_DEVICE;
|
||||
}
|
||||
|
||||
return response;
|
||||
|
||||
@ -306,10 +306,18 @@ struct StatusFrameConfig { // NOLINT(altera-struct-pack-align)
|
||||
|
||||
enum class TRUMA_DEVICE : u_int8_t {
|
||||
UNKOWN = 0x00,
|
||||
HEATER_COMBI = 0x02,
|
||||
// Saphir Compact AC
|
||||
AIRCON_DEVICE = 0x01,
|
||||
// Combi 4
|
||||
HEATER_COMBI4 = 0x02,
|
||||
// Vario Heat Comfort (non E)
|
||||
HEATER_VARIO = 0x03,
|
||||
// CP Plus for Combi
|
||||
CPPLUS_COMBI = 0x04,
|
||||
// CP Plus for Vario Heat
|
||||
CPPLUS_VARIO = 0x05,
|
||||
// Combi 6 D
|
||||
HEATER_COMBI6D = 0x06,
|
||||
};
|
||||
|
||||
// Length 12 (0x0C)
|
||||
@ -434,7 +442,8 @@ class TrumaiNetBoxApp : public LinBusProtocol {
|
||||
u_int8_t message_counter = 1;
|
||||
|
||||
// Truma heater conected to CP Plus.
|
||||
TRUMA_DEVICE heater_device_ = TRUMA_DEVICE::HEATER_COMBI;
|
||||
TRUMA_DEVICE heater_device_ = TRUMA_DEVICE::HEATER_COMBI4;
|
||||
TRUMA_DEVICE aircon_device_ = TRUMA_DEVICE::UNKOWN;
|
||||
|
||||
std::vector<StatusFrameListener> listeners_heater_;
|
||||
CallbackManager<void(const StatusFrameHeater *)> state_heater_callback_{};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user