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_ROOM`
- `HEATER_WATER` - `HEATER_WATER`
- `HEATER_GAS` - `HEATER_GAS`
- `HEATER_DIESEL`
- `HEATER_MIX_1` - `HEATER_MIX_1`
- `HEATER_MIX_2` - `HEATER_MIX_2`
- `HEATER_ELECTRICITY` - `HEATER_ELECTRICITY`
- `HEATER_HAS_ERROR`
- `TIMER_ACTIVE` - `TIMER_ACTIVE`
- `TIMER_ROOM` - `TIMER_ROOM`
- `TIMER_WATER` - `TIMER_WATER`
@ -141,6 +143,7 @@ The following `type` values are available:
- `ELECTRIC_POWER_LEVEL` - `ELECTRIC_POWER_LEVEL`
- `ENERGY_MIX` - `ENERGY_MIX`
- `OPERATING_STATUS` - `OPERATING_STATUS`
- `HEATER_ERROR_CODE`
### Actions ### Actions

View File

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

View File

@ -52,7 +52,7 @@ class TrumaiNetBoxApp : public LinBusProtocol {
u_int8_t message_counter = 1; u_int8_t message_counter = 1;
// Truma heater conected to CP Plus. // 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; TRUMA_DEVICE aircon_device_ = TRUMA_DEVICE::UNKNOWN;
TrumaiNetBoxAppAirconAuto airconAuto_; TrumaiNetBoxAppAirconAuto airconAuto_;

View File

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

View File

@ -19,6 +19,9 @@ void TrumaHeaterBinarySensor::setup() {
case TRUMA_BINARY_SENSOR_TYPE::HEATER_GAS: case TRUMA_BINARY_SENSOR_TYPE::HEATER_GAS:
this->publish_state(status_heater->energy_mix_a == EnergyMix::ENERGY_MIX_GAS); this->publish_state(status_heater->energy_mix_a == EnergyMix::ENERGY_MIX_GAS);
break; 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: case TRUMA_BINARY_SENSOR_TYPE::HEATER_MIX_1:
this->publish_state(status_heater->energy_mix_a == EnergyMix::ENERGY_MIX_MIX && this->publish_state(status_heater->energy_mix_a == EnergyMix::ENERGY_MIX_MIX &&
status_heater->el_power_level_a == ElectricPowerLevel::ELECTRIC_POWER_LEVEL_900); 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_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_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_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_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_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), "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_ROOM,
HEATER_WATER, HEATER_WATER,
HEATER_GAS, HEATER_GAS,
HEATER_DIESEL,
HEATER_MIX_1, HEATER_MIX_1,
HEATER_MIX_2, HEATER_MIX_2,
HEATER_ELECTRICITY, 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: case TRUMA_BINARY_SENSOR_TYPE::HEATER_GAS:
return "HEATER_GAS"; return "HEATER_GAS";
break; break;
case TRUMA_BINARY_SENSOR_TYPE::HEATER_DIESEL:
return "HEATER_DIESEL";
break;
case TRUMA_BINARY_SENSOR_TYPE::HEATER_MIX_1: case TRUMA_BINARY_SENSOR_TYPE::HEATER_MIX_1:
return "HEATER_MIX_1"; return "HEATER_MIX_1";
break; break;