From c041cc483c9308011986c7a25e7e0ad593a0c09e Mon Sep 17 00:00:00 2001 From: vxider Date: Mon, 29 Jun 2020 05:50:20 +0800 Subject: [PATCH] fix shunt voltage / current / power reading in INA3221 (#1101) * fix shunt voltage / current / power reading in INA3221 * support nagetive shunt voltage reading * fix loss of precision --- esphome/components/ina3221/ina3221.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esphome/components/ina3221/ina3221.cpp b/esphome/components/ina3221/ina3221.cpp index 3bd568f37d..a0334064ff 100644 --- a/esphome/components/ina3221/ina3221.cpp +++ b/esphome/components/ina3221/ina3221.cpp @@ -100,7 +100,7 @@ void INA3221Component::update() { this->status_set_warning(); return; } - const float shunt_voltage_v = int16_t(raw) * 40.0f / 1000000.0f; + const float shunt_voltage_v = int16_t(raw) * 40.0f / 8.0f / 1000000.0f; if (channel.shunt_voltage_sensor_ != nullptr) channel.shunt_voltage_sensor_->publish_state(shunt_voltage_v); current_a = shunt_voltage_v / channel.shunt_resistance_;