From 410f81d8d2b18db1bc639e003350f82fbdd8ba2f Mon Sep 17 00:00:00 2001 From: ElVit Date: Wed, 5 Aug 2026 19:58:44 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20convert=20pressure=20sensors=20from=20kg?= =?UTF-8?q?f/cm=C2=B2=20to=20bar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/panasonic_heatpump/sensor/__init__.py | 5 ++--- .../panasonic_heatpump/sensor/panasonic_heatpump_sensor.cpp | 5 +++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/components/panasonic_heatpump/sensor/__init__.py b/components/panasonic_heatpump/sensor/__init__.py index e962e6c..f03225f 100644 --- a/components/panasonic_heatpump/sensor/__init__.py +++ b/components/panasonic_heatpump/sensor/__init__.py @@ -31,7 +31,6 @@ UNIT_LITRE_PER_MINUTE = "L/min" UNIT_ROTATIONS_PER_MINUTE = "r/min" -UNIT_PRESSURE_KGFCM2 = "kgf/cm²" UNIT_BAR = "bar" ICON_PUMP = "mdi:pump" ICON_VALVE = "mdi:pipe-valve" @@ -604,7 +603,7 @@ accuracy_decimals=2, device_class=DEVICE_CLASS_PRESSURE, state_class=STATE_CLASS_MEASUREMENT, - unit_of_measurement=UNIT_PRESSURE_KGFCM2, + unit_of_measurement=UNIT_BAR, ), cv.Optional(CONF_TOP65): sensor.sensor_schema( PanasonicHeatpumpSensor, @@ -618,7 +617,7 @@ accuracy_decimals=2, device_class=DEVICE_CLASS_PRESSURE, state_class=STATE_CLASS_MEASUREMENT, - unit_of_measurement=UNIT_PRESSURE_KGFCM2, + unit_of_measurement=UNIT_BAR, ), cv.Optional(CONF_TOP67): sensor.sensor_schema( PanasonicHeatpumpSensor, diff --git a/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.cpp b/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.cpp index 7e4355e..bab6758 100644 --- a/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.cpp +++ b/components/panasonic_heatpump/sensor/panasonic_heatpump_sensor.cpp @@ -3,6 +3,7 @@ namespace esphome { namespace panasonic_heatpump { static const char* const TAG = "panasonic_heatpump.sensor"; +static constexpr float KGF_CM2_TO_BAR = 0.980665f; // 1 kgf/cm² = 0.980665 bar void PanasonicHeatpumpSensor::dump_config() { LOG_SENSOR("", "Panasonic Heatpump Sensor", this); @@ -261,7 +262,7 @@ void PanasonicHeatpumpSensor::publish_new_state(const std::vector& data return; break; case SensorIds::CONF_TOP64: - new_state = PanasonicDecode::getByteMinus1Div5(data[163]); + new_state = PanasonicDecode::getByteMinus1Div5(data[163]) * KGF_CM2_TO_BAR; if (this->has_state() && this->get_state() == new_state) return; break; @@ -271,7 +272,7 @@ void PanasonicHeatpumpSensor::publish_new_state(const std::vector& data return; break; case SensorIds::CONF_TOP66: - new_state = PanasonicDecode::getByteMinus1Times50(data[164]); + new_state = PanasonicDecode::getByteMinus1Times50(data[164]) * KGF_CM2_TO_BAR; if (this->has_state() && this->get_state() == new_state) return; break;