7 static const char *
const TAG =
"ade7953";
10 ESP_LOGCONFIG(TAG,
"ADE7953:");
13 LOG_UPDATE_INTERVAL(
this);
21 #define ADE_PUBLISH_(name, val, factor) \ 22 if (err == i2c::ERROR_OK && this->name##_sensor_) { \ 23 float value = (val) / (factor); \ 24 this->name##_sensor_->publish_state(value); \ 26 #define ADE_PUBLISH(name, val, factor) ADE_PUBLISH_(name, val, factor) 34 ADE_PUBLISH(active_power_a, (int32_t) val, 154.0f);
36 ADE_PUBLISH(active_power_b, (int32_t) val, 154.0f);
38 ADE_PUBLISH(current_a, (uint32_t) val, 100000.0f);
40 ADE_PUBLISH(current_b, (uint32_t) val, 100000.0f);
42 ADE_PUBLISH(voltage, (uint32_t) val, 26000.0f);
sensor::Sensor * current_a_sensor_
sensor::Sensor * current_b_sensor_
InternalGPIOPin * irq_pin_
sensor::Sensor * active_power_b_sensor_
void dump_config() override
sensor::Sensor * voltage_sensor_
sensor::Sensor * active_power_a_sensor_
i2c::ErrorCode ade_read_32_(uint16_t reg, uint32_t *value)