diff --git a/components/panasonic_heatpump/README.md b/components/panasonic_heatpump/README.md index e62bccf..fdca9bf 100644 --- a/components/panasonic_heatpump/README.md +++ b/components/panasonic_heatpump/README.md @@ -326,6 +326,8 @@ sensor: name: "Bivalent Advanced Stop Delay" top138: name: "Bivalent Advanced DHW Delay" + top142: + name: "Expansion Valve" xtop0: name: "Heat Power Consumption Extra" diff --git a/components/panasonic_heatpump/panasonic_heatpump.h b/components/panasonic_heatpump/panasonic_heatpump.h index fc20c1f..0e985c9 100644 --- a/components/panasonic_heatpump/panasonic_heatpump.h +++ b/components/panasonic_heatpump/panasonic_heatpump.h @@ -12,7 +12,7 @@ #include "commands.h" #ifndef PANASONIC_HEATPUMP_VERSION -#define PANASONIC_HEATPUMP_VERSION "0.0.5-beta.2" +#define PANASONIC_HEATPUMP_VERSION "0.0.7" #endif namespace esphome { diff --git a/components/panasonic_heatpump/sensor/__init__.py b/components/panasonic_heatpump/sensor/__init__.py index 6012670..6e8a3f6 100644 --- a/components/panasonic_heatpump/sensor/__init__.py +++ b/components/panasonic_heatpump/sensor/__init__.py @@ -21,6 +21,7 @@ from esphome.const import ( STATE_CLASS_MEASUREMENT, STATE_CLASS_TOTAL_INCREASING, ICON_COUNTER, + ICON_FAN, ) from .. import ( CONF_PANASONIC_HEATPUMP_ID, @@ -32,7 +33,7 @@ UNIT_LITRE_PER_MINUTE = "L/min" UNIT_ROTATIONS_PER_MINUTE = "r/min" UNIT_PRESSURE_KGFCM2 = "kgf/cm²" UNIT_BAR = "bar" -ICON_FAN_SPEED = "mdi:fan" +ICON_VALVE = "mdi:pipe-valve" CONF_TOP1 = "top1" # Pump Flow CONF_TOP5 = "top5" # Main Inlet Temp @@ -129,7 +130,7 @@ CONF_TOP135 = "top135" # Bivalent Advanced Stop Temp CONF_TOP136 = "top136" # Bivalent Advanced Start Delay CONF_TOP137 = "top137" # Bivalent Advanced Stop Delay CONF_TOP138 = "top138" # Bivalent Advanced DHW Delay - +CONF_TOP142 = "top142" # Expansion Valve CONF_XTOP0 = "xtop0" # Heat Power Consumption Extra CONF_XTOP1 = "xtop1" # Cool Power Consumption Extra CONF_XTOP2 = "xtop2" # DHW Power Consumption Extra @@ -233,6 +234,7 @@ TYPES = [ CONF_TOP136, CONF_TOP137, CONF_TOP138, + CONF_TOP142, CONF_XTOP0, CONF_XTOP1, CONF_XTOP2, @@ -582,14 +584,14 @@ CONFIG_SCHEMA = cv.Schema( cv.Optional(CONF_TOP62): sensor.sensor_schema( PanasonicHeatpumpSensor, accuracy_decimals=2, - icon=ICON_FAN_SPEED, + icon=ICON_FAN, state_class=STATE_CLASS_MEASUREMENT, unit_of_measurement=UNIT_ROTATIONS_PER_MINUTE, ), cv.Optional(CONF_TOP63): sensor.sensor_schema( PanasonicHeatpumpSensor, accuracy_decimals=2, - icon=ICON_FAN_SPEED, + icon=ICON_FAN, state_class=STATE_CLASS_MEASUREMENT, unit_of_measurement=UNIT_ROTATIONS_PER_MINUTE, ), @@ -910,6 +912,13 @@ CONFIG_SCHEMA = cv.Schema( state_class=STATE_CLASS_MEASUREMENT, unit_of_measurement=UNIT_MINUTE, ), + cv.Optional(CONF_TOP142): sensor.sensor_schema( + PanasonicHeatpumpSensor, + accuracy_decimals=0, + icon=ICON_VALVE, + state_class=STATE_CLASS_MEASUREMENT, + unit_of_measurement=UNIT_EMPTY, + ), cv.Optional(CONF_XTOP0): sensor.sensor_schema( PanasonicHeatpumpSensor, accuracy_decimals=0, diff --git a/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.cpp b/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.cpp index cd4b25a..7e4355e 100644 --- a/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.cpp +++ b/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.cpp @@ -490,6 +490,11 @@ void PanasonicHeatpumpSensor::publish_new_state(const std::vector& data if (this->has_state() && this->get_state() == new_state) return; break; + case SensorIds::CONF_TOP142: + new_state = PanasonicDecode::getByteMinus1(data[175]); + if (this->has_state() && this->get_state() == new_state) + return; + break; case SensorIds::CONF_XTOP0: new_state = PanasonicDecode::getWordMinus1(data, 14); diff --git a/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.h b/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.h index 74d24ec..84c4350 100644 --- a/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.h +++ b/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.h @@ -102,6 +102,7 @@ enum SensorIds : uint8_t { CONF_TOP136, CONF_TOP137, CONF_TOP138, + CONF_TOP142, CONF_XTOP0, CONF_XTOP1, diff --git a/components/panasonic_heatpump/text_sensor/__init__.py b/components/panasonic_heatpump/text_sensor/__init__.py index 517af7b..77f8ea5 100644 --- a/components/panasonic_heatpump/text_sensor/__init__.py +++ b/components/panasonic_heatpump/text_sensor/__init__.py @@ -22,6 +22,8 @@ ICON_LIQUID = "mdi:water" ICON_VALVE = "mdi:pipe-valve" ICON_PUMP = "mdi:pump" ICON_EXTERNAL_PAD_HEATER = "mdi:radiator" +ICON_THERMOMETER = "mdi:thermometer" +ICON_BIVALENT = "mdi:vector-combine" CONF_TOP4 = "top4" # Operation Mode # TODO: Split up top4 into top4_1 (Heating Mode State) and top4_2 (DHW Mode State) @@ -141,9 +143,11 @@ CONFIG_SCHEMA = cv.Schema( ), cv.Optional(CONF_TOP111): text_sensor.text_sensor_schema( PanasonicHeatpumpTextSensor, + icon=ICON_THERMOMETER, ), cv.Optional(CONF_TOP112): text_sensor.text_sensor_schema( PanasonicHeatpumpTextSensor, + icon=ICON_THERMOMETER, ), cv.Optional(CONF_TOP114): text_sensor.text_sensor_schema( PanasonicHeatpumpTextSensor, @@ -159,6 +163,7 @@ CONFIG_SCHEMA = cv.Schema( ), cv.Optional(CONF_TOP130): text_sensor.text_sensor_schema( PanasonicHeatpumpTextSensor, + icon=ICON_BIVALENT, ), } ).extend(cv.COMPONENT_SCHEMA) diff --git a/components/panasonic_heatpump/water_heater/panasonic_heatpump_water_heater.cpp b/components/panasonic_heatpump/water_heater/panasonic_heatpump_water_heater.cpp index 7073d0d..cd2892e 100644 --- a/components/panasonic_heatpump/water_heater/panasonic_heatpump_water_heater.cpp +++ b/components/panasonic_heatpump/water_heater/panasonic_heatpump_water_heater.cpp @@ -5,9 +5,9 @@ namespace esphome { namespace panasonic_heatpump { static const char* const TAG = "panasonic_heatpump.water_heater"; -void PanasonicHeatpumpWaterHeater::dump_config() { - LOG_WATER_HEATER("", "Panasonic Heatpump Water Heater", this); -} +// void PanasonicHeatpumpWaterHeater::dump_config() { +// LOG_WATER_HEATER("", "Panasonic Heatpump Water Heater", this); +// } water_heater::WaterHeaterTraits PanasonicHeatpumpWaterHeater::traits() { auto traits = water_heater::WaterHeaterTraits(); diff --git a/components/panasonic_heatpump/water_heater/panasonic_heatpump_water_heater.h b/components/panasonic_heatpump/water_heater/panasonic_heatpump_water_heater.h index 2a3e6d8..9547111 100644 --- a/components/panasonic_heatpump/water_heater/panasonic_heatpump_water_heater.h +++ b/components/panasonic_heatpump/water_heater/panasonic_heatpump_water_heater.h @@ -17,7 +17,7 @@ class PanasonicHeatpumpWaterHeater : public water_heater::WaterHeater, public PanasonicHeatpumpEntity { public: PanasonicHeatpumpWaterHeater() = default; - void dump_config() override; + // void dump_config() override; water_heater::WaterHeaterTraits traits() override; void publish_new_state(const std::vector& data) override; diff --git a/example_panasonic_heatpump.yaml b/example_panasonic_heatpump.yaml index 963b371..2effc8b 100644 --- a/example_panasonic_heatpump.yaml +++ b/example_panasonic_heatpump.yaml @@ -249,6 +249,8 @@ sensor: name: "Bivalent Advanced Stop Delay" top138: name: "Bivalent Advanced DHW Delay" + top142: + name: "Expansion Valve" xtop0: name: "Heat Power Consumption Extra" diff --git a/tests/panasonic_heatpump/test_panasonic_heatpump_full.yaml b/tests/panasonic_heatpump/test_panasonic_heatpump_full.yaml index 6aa062a..26441ac 100644 --- a/tests/panasonic_heatpump/test_panasonic_heatpump_full.yaml +++ b/tests/panasonic_heatpump/test_panasonic_heatpump_full.yaml @@ -240,6 +240,8 @@ sensor: name: "Bivalent Advanced Stop Delay" top138: name: "Bivalent Advanced DHW Delay" + top142: + name: "Expansion Valve" xtop0: name: "Heat Power Consumption Extra" xtop1: