add Diesel energy mix

This commit is contained in:
Your Name 2023-03-22 20:13:42 +01:00
parent 29386094cb
commit ea3eb4b007
7 changed files with 14 additions and 1 deletions

View File

@ -77,9 +77,11 @@ The following `type` values are available:
- `HEATER_ROOM`
- `HEATER_WATER`
- `HEATER_GAS`
- `HEATER_DIESEL`
- `HEATER_MIX_1`
- `HEATER_MIX_2`
- `HEATER_ELECTRICITY`
- `HEATER_HAS_ERROR`
- `TIMER_ACTIVE`
- `TIMER_ROOM`
- `TIMER_WATER`
@ -141,6 +143,7 @@ The following `type` values are available:
- `ELECTRIC_POWER_LEVEL`
- `ENERGY_MIX`
- `OPERATING_STATUS`
- `HEATER_ERROR_CODE`
### Actions

View File

@ -85,6 +85,7 @@ enum class TargetTemp : u_int16_t {
enum class EnergyMix : u_int8_t {
ENERGY_MIX_NONE = 0b00,
ENERGY_MIX_GAS = 0b01,
ENERGY_MIX_DIESEL = 0b01,
ENERGY_MIX_ELECTRICITY = 0b10,
ENERGY_MIX_MIX = 0b11,
};

View File

@ -52,7 +52,7 @@ class TrumaiNetBoxApp : public LinBusProtocol {
u_int8_t message_counter = 1;
// Truma heater conected to CP Plus.
TRUMA_DEVICE heater_device_ = TRUMA_DEVICE::HEATER_COMBI4;
TRUMA_DEVICE heater_device_ = TRUMA_DEVICE::UNKNOWN;
TRUMA_DEVICE aircon_device_ = TRUMA_DEVICE::UNKNOWN;
TrumaiNetBoxAppAirconAuto airconAuto_;

View File

@ -296,6 +296,7 @@ EnergyMix_dummy_ns = truma_inetbox_ns.namespace("EnergyMix")
CONF_SUPPORTED_ENERGY_MIX = {
"NONE": EnergyMix_dummy_ns.ENERGY_MIX_NONE,
"GAS": EnergyMix_dummy_ns.ENERGY_MIX_GAS,
"DIESEL": EnergyMix_dummy_ns.ENERGY_MIX_DIESEL,
"ELECTRICITY": EnergyMix_dummy_ns.ENERGY_MIX_ELECTRICITY,
"MIX": EnergyMix_dummy_ns.ENERGY_MIX_MIX,
}

View File

@ -19,6 +19,9 @@ void TrumaHeaterBinarySensor::setup() {
case TRUMA_BINARY_SENSOR_TYPE::HEATER_GAS:
this->publish_state(status_heater->energy_mix_a == EnergyMix::ENERGY_MIX_GAS);
break;
case TRUMA_BINARY_SENSOR_TYPE::HEATER_DIESEL:
this->publish_state(status_heater->energy_mix_a == EnergyMix::ENERGY_MIX_DIESEL);
break;
case TRUMA_BINARY_SENSOR_TYPE::HEATER_MIX_1:
this->publish_state(status_heater->energy_mix_a == EnergyMix::ENERGY_MIX_MIX &&
status_heater->el_power_level_a == ElectricPowerLevel::ELECTRIC_POWER_LEVEL_900);

View File

@ -27,6 +27,7 @@ CONF_SUPPORTED_TYPE = {
"HEATER_ROOM": (truma_inetbox_ns.class_("TrumaHeaterBinarySensor", binary_sensor.BinarySensor, cg.Component), TRUMA_BINARY_SENSOR_TYPE_dummy_ns.HEATER_ROOM),
"HEATER_WATER": (truma_inetbox_ns.class_("TrumaHeaterBinarySensor", binary_sensor.BinarySensor, cg.Component), TRUMA_BINARY_SENSOR_TYPE_dummy_ns.HEATER_WATER),
"HEATER_GAS": (truma_inetbox_ns.class_("TrumaHeaterBinarySensor", binary_sensor.BinarySensor, cg.Component), TRUMA_BINARY_SENSOR_TYPE_dummy_ns.HEATER_GAS),
"HEATER_DIESEL": (truma_inetbox_ns.class_("TrumaHeaterBinarySensor", binary_sensor.BinarySensor, cg.Component), TRUMA_BINARY_SENSOR_TYPE_dummy_ns.HEATER_DIESEL),
"HEATER_MIX_1": (truma_inetbox_ns.class_("TrumaHeaterBinarySensor", binary_sensor.BinarySensor, cg.Component), TRUMA_BINARY_SENSOR_TYPE_dummy_ns.HEATER_MIX_1),
"HEATER_MIX_2": (truma_inetbox_ns.class_("TrumaHeaterBinarySensor", binary_sensor.BinarySensor, cg.Component), TRUMA_BINARY_SENSOR_TYPE_dummy_ns.HEATER_MIX_2),
"HEATER_ELECTRICITY": (truma_inetbox_ns.class_("TrumaHeaterBinarySensor", binary_sensor.BinarySensor, cg.Component), TRUMA_BINARY_SENSOR_TYPE_dummy_ns.HEATER_ELECTRICITY),

View File

@ -7,6 +7,7 @@ enum class TRUMA_BINARY_SENSOR_TYPE {
HEATER_ROOM,
HEATER_WATER,
HEATER_GAS,
HEATER_DIESEL,
HEATER_MIX_1,
HEATER_MIX_2,
HEATER_ELECTRICITY,
@ -28,6 +29,9 @@ static const char *enum_to_c_str(const TRUMA_BINARY_SENSOR_TYPE val) {
case TRUMA_BINARY_SENSOR_TYPE::HEATER_GAS:
return "HEATER_GAS";
break;
case TRUMA_BINARY_SENSOR_TYPE::HEATER_DIESEL:
return "HEATER_DIESEL";
break;
case TRUMA_BINARY_SENSOR_TYPE::HEATER_MIX_1:
return "HEATER_MIX_1";
break;