ESPHome
2024.9.2
|
#include <ct_clamp_sensor.h>
Public Member Functions | |
void | update () override |
void | loop () override |
void | dump_config () override |
float | get_setup_priority () const override |
void | set_sample_duration (uint32_t sample_duration) |
void | set_source (voltage_sampler::VoltageSampler *source) |
Public Member Functions inherited from esphome::sensor::Sensor | |
Sensor () | |
int8_t | get_accuracy_decimals () |
Get the accuracy in decimals, using the manual override if set. More... | |
void | set_accuracy_decimals (int8_t accuracy_decimals) |
Manually set the accuracy in decimals. More... | |
StateClass | get_state_class () |
Get the state class, using the manual override if set. More... | |
void | set_state_class (StateClass state_class) |
Manually set the state class. More... | |
bool | get_force_update () const |
Get whether force update mode is enabled. More... | |
void | set_force_update (bool force_update) |
Set force update mode. More... | |
void | add_filter (Filter *filter) |
Add a filter to the filter chain. Will be appended to the back. More... | |
void | add_filters (const std::vector< Filter *> &filters) |
Add a list of vectors to the back of the filter chain. More... | |
void | set_filters (const std::vector< Filter *> &filters) |
Clear the filters and replace them by filters. More... | |
void | clear_filters () |
Clear the entire filter chain. More... | |
float | get_state () const |
Getter-syntax for .state. More... | |
float | get_raw_state () const |
Getter-syntax for .raw_state. More... | |
void | publish_state (float state) |
Publish a new state to the front-end. More... | |
void | add_on_state_callback (std::function< void(float)> &&callback) |
Add a callback that will be called every time a filtered value arrives. More... | |
void | add_on_raw_state_callback (std::function< void(float)> &&callback) |
Add a callback that will be called every time the sensor sends a raw value. More... | |
bool | has_state () const |
Return whether this sensor has gotten a full state (that passed through all filters) yet. More... | |
virtual std::string | unique_id () |
Override this method to set the unique ID of this sensor. More... | |
void | internal_send_state_to_frontend (float state) |
Public Member Functions inherited from esphome::EntityBase | |
const StringRef & | get_name () const |
void | set_name (const char *name) |
bool | has_own_name () const |
std::string | get_object_id () const |
void | set_object_id (const char *object_id) |
uint32_t | get_object_id_hash () |
bool | is_internal () const |
void | set_internal (bool internal) |
bool | is_disabled_by_default () const |
void | set_disabled_by_default (bool disabled_by_default) |
EntityCategory | get_entity_category () const |
void | set_entity_category (EntityCategory entity_category) |
std::string | get_icon () const |
void | set_icon (const char *icon) |
Public Member Functions inherited from esphome::EntityBase_DeviceClass | |
std::string | get_device_class () |
Get the device class, using the manual override if set. More... | |
void | set_device_class (const char *device_class) |
Manually set the device class. More... | |
Public Member Functions inherited from esphome::EntityBase_UnitOfMeasurement | |
std::string | get_unit_of_measurement () |
Get the unit of measurement, using the manual override if set. More... | |
void | set_unit_of_measurement (const char *unit_of_measurement) |
Manually set the unit of measurement. More... | |
Public Member Functions inherited from esphome::PollingComponent | |
PollingComponent () | |
PollingComponent (uint32_t update_interval) | |
Initialize this polling component with the given update interval in ms. More... | |
virtual void | set_update_interval (uint32_t update_interval) |
Manually set the update interval in ms for this polling object. More... | |
void | call_setup () override |
virtual uint32_t | get_update_interval () const |
Get the update interval in ms of this sensor. More... | |
void | start_poller () |
void | stop_poller () |
Public Member Functions inherited from esphome::Component | |
virtual void | setup () |
Where the component's initialization should happen. More... | |
float | get_actual_setup_priority () const |
void | set_setup_priority (float priority) |
virtual float | get_loop_priority () const |
priority of loop(). More... | |
void | call () |
virtual void | on_shutdown () |
virtual void | on_safe_shutdown () |
uint32_t | get_component_state () const |
virtual void | mark_failed () |
Mark this component as failed. More... | |
bool | is_failed () const |
bool | is_ready () const |
virtual bool | can_proceed () |
bool | status_has_warning () const |
bool | status_has_error () const |
void | status_set_warning (const char *message="unspecified") |
void | status_set_error (const char *message="unspecified") |
void | status_clear_warning () |
void | status_clear_error () |
void | status_momentary_warning (const std::string &name, uint32_t length=5000) |
void | status_momentary_error (const std::string &name, uint32_t length=5000) |
bool | has_overridden_loop () const |
void | set_component_source (const char *source) |
Set where this component was loaded from for some debug messages. More... | |
const char * | get_component_source () const |
Get the integration where this component was declared as a string. More... | |
Protected Attributes | |
HighFrequencyLoopRequester | high_freq_ |
High Frequency loop() requester used during sampling phase. More... | |
uint32_t | sample_duration_ |
Duration in ms of the sampling phase. More... | |
voltage_sampler::VoltageSampler * | source_ |
The sampling source to read values from. More... | |
float | last_value_ = 0.0f |
The DC offset of the circuit. More... | |
float | sample_sum_ = 0.0f |
float | sample_squared_sum_ = 0.0f |
uint32_t | num_samples_ = 0 |
bool | is_sampling_ = false |
Protected Attributes inherited from esphome::sensor::Sensor | |
CallbackManager< void(float)> | raw_callback_ |
Storage for raw state callbacks. More... | |
CallbackManager< void(float)> | callback_ |
Storage for filtered state callbacks. More... | |
Filter * | filter_list_ {nullptr} |
Store all active filters. More... | |
optional< int8_t > | accuracy_decimals_ |
Accuracy in decimals override. More... | |
optional< StateClass > | state_class_ {STATE_CLASS_NONE} |
State class override. More... | |
bool | force_update_ {false} |
Force update mode. More... | |
bool | has_state_ {false} |
Protected Attributes inherited from esphome::EntityBase | |
StringRef | name_ |
const char * | object_id_c_str_ {nullptr} |
const char * | icon_c_str_ {nullptr} |
uint32_t | object_id_hash_ |
bool | has_own_name_ {false} |
bool | internal_ {false} |
bool | disabled_by_default_ {false} |
EntityCategory | entity_category_ {ENTITY_CATEGORY_NONE} |
Protected Attributes inherited from esphome::EntityBase_DeviceClass | |
const char * | device_class_ {nullptr} |
Device class override. More... | |
Protected Attributes inherited from esphome::EntityBase_UnitOfMeasurement | |
const char * | unit_of_measurement_ {nullptr} |
Unit of measurement override. More... | |
Protected Attributes inherited from esphome::PollingComponent | |
uint32_t | update_interval_ |
Protected Attributes inherited from esphome::Component | |
uint32_t | component_state_ {0x0000} |
State of this component. More... | |
float | setup_priority_override_ {NAN} |
const char * | component_source_ {nullptr} |
Additional Inherited Members | |
Data Fields inherited from esphome::sensor::Sensor | |
float | state |
This member variable stores the last state that has passed through all filters. More... | |
float | raw_state |
This member variable stores the current raw state of the sensor, without any filters applied. More... | |
Protected Member Functions inherited from esphome::EntityBase | |
virtual uint32_t | hash_base () |
The hash_base() function has been deprecated. More... | |
void | calc_object_id_ () |
Protected Member Functions inherited from esphome::Component | |
virtual void | call_loop () |
virtual void | call_dump_config () |
void | set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f) |
Set an interval function with a unique name. More... | |
void | set_interval (uint32_t interval, std::function< void()> &&f) |
bool | cancel_interval (const std::string &name) |
Cancel an interval function. More... | |
void | set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f) |
Set an retry function with a unique name. More... | |
void | set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f) |
bool | cancel_retry (const std::string &name) |
Cancel a retry function. More... | |
void | set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f) |
Set a timeout function with a unique name. More... | |
void | set_timeout (uint32_t timeout, std::function< void()> &&f) |
bool | cancel_timeout (const std::string &name) |
Cancel a timeout function. More... | |
void | defer (const std::string &name, std::function< void()> &&f) |
Defer a callback to the next loop() call. More... | |
void | defer (std::function< void()> &&f) |
Defer a callback to the next loop() call. More... | |
bool | cancel_defer (const std::string &name) |
Cancel a defer callback using the specified name, name must not be empty. More... | |
Definition at line 11 of file ct_clamp_sensor.h.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 12 of file ct_clamp_sensor.cpp.
|
inlineoverridevirtual |
Reimplemented from esphome::Component.
Definition at line 16 of file ct_clamp_sensor.h.
|
overridevirtual |
Reimplemented from esphome::Component.
Definition at line 54 of file ct_clamp_sensor.cpp.
|
inline |
Definition at line 21 of file ct_clamp_sensor.h.
|
inline |
Definition at line 22 of file ct_clamp_sensor.h.
|
overridevirtual |
Implements esphome::PollingComponent.
Definition at line 18 of file ct_clamp_sensor.cpp.
|
protected |
High Frequency loop() requester used during sampling phase.
Definition at line 26 of file ct_clamp_sensor.h.
|
protected |
Definition at line 50 of file ct_clamp_sensor.h.
|
protected |
The DC offset of the circuit.
Diagram: https://learn.openenergymonitor.org/electricity-monitoring/ct-sensors/interface-with-arduino
The current clamp only measures AC, so any DC component is an unwanted artifact from the sampling circuit. The AC component is essentially the same as the calculating the Standard-Deviation, which can be done by cumulating 3 values per sample: 1) Number of samples 2) Sum of samples 3) Sum of sample squared https://en.wikipedia.org/wiki/Root_mean_square
Definition at line 46 of file ct_clamp_sensor.h.
|
protected |
Definition at line 49 of file ct_clamp_sensor.h.
|
protected |
Duration in ms of the sampling phase.
Definition at line 29 of file ct_clamp_sensor.h.
|
protected |
Definition at line 48 of file ct_clamp_sensor.h.
|
protected |
Definition at line 47 of file ct_clamp_sensor.h.
|
protected |
The sampling source to read values from.
Definition at line 31 of file ct_clamp_sensor.h.