40 void control(
float value)
override;
optional< float >(*)(ModbusNumber *, float, std::span< const uint8_t >) transform_func_t
void control(float value) override
void set_write_multiply(float factor)
optional< write_transform_func_t > write_transform_func_
void parse_and_publish(std::span< const uint8_t > data) override
optional< transform_func_t > transform_func_
void set_template(transform_func_t f)
ModbusController * parent_
void set_parent(ModbusController *parent)
void set_use_write_mutiple(bool use_write_multiple)
float get_setup_priority() const override
void dump_config() override
ModbusNumber(modbus::EntityType register_type, uint16_t start_address, uint8_t offset, uint32_t bitmask, SensorValueType value_type, int register_count, uint16_t skip_updates, bool force_new_range)
optional< float >(*)(ModbusNumber *, float, std::vector< uint16_t > &) write_transform_func_t
void set_write_template(write_transform_func_t f)
modbus::EntityType register_type
void set_address(uint16_t address)
Sets the configured address, and points the range base at it.
void set_offset_from_start_address(uint8_t offset)
Records the offset as configured, and seeds the resolved position with it.
SensorValueType sensor_value_type
uint8_t offset
Position of this sensor's data within its range's response - a byte offset for registers,...
Base-class for all numbers.
std::function< float >(float) value_to_data_t
const std::vector< uint8_t > & data
constexpr float HARDWARE
For components that deal with hardware and are very important like GPIO switch.