From 5dc33b4b9b91386e7b2ba43b42c41f418486de45 Mon Sep 17 00:00:00 2001 From: lmdc45 <47163513+lmdc45@users.noreply.github.com> Date: Wed, 19 Jul 2023 15:15:35 +1000 Subject: [PATCH] Update emerald_ble.h --- esphome/components/emerald_ble/emerald_ble.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/esphome/components/emerald_ble/emerald_ble.h b/esphome/components/emerald_ble/emerald_ble.h index 7f3ce6eab2d7..2b068db66e40 100644 --- a/esphome/components/emerald_ble/emerald_ble.h +++ b/esphome/components/emerald_ble/emerald_ble.h @@ -55,7 +55,7 @@ static const uint32_t RETURN_DEVICE_TIME_CMD = 0x0001010304; static const uint8_t standard_update_interval = 30; // seconds static const float kw_to_w_conversion = 1000.0; // conversion ratio - +static const int hr_to_s_conversion = 3600; class Emerald : public esphome::ble_client::BLEClientNode, public Component { // class Emerald : public esphome::ble_client::BLEClientNode, public PollingComponent { @@ -75,7 +75,7 @@ class Emerald : public esphome::ble_client::BLEClientNode, public Component { #endif void set_pulses_per_kwh(uint16_t pulses_per_kwh) { pulses_per_kwh_ = pulses_per_kwh; - pulse_multiplier_ = (standard_update_interval / (pulses_per_kwh / kw_to_w_conversion)); + pulse_multiplier_ = ((hr_to_s_conversion * kw_to_w_conversion) / (standard_update_interval * pulses_per_kwh)); } void set_pairing_code(uint32_t pairing_code) { pairing_code_ = pairing_code; }