46 if (data.size() < MODBUS_REGISTER_COUNT[this->protocol_version_] * 2)
49 auto publish_1_reg_sensor_state = [&](
sensor::Sensor *sensor,
size_t i,
float unit) ->
void {
50 if (sensor ==
nullptr)
52 float value =
encode_uint16(data[i * 2], data[i * 2 + 1]) * unit;
56 auto publish_2_reg_sensor_state = [&](
sensor::Sensor *sensor,
size_t reg1,
size_t reg2,
float unit) ->
void {
57 float value = ((
encode_uint16(data[reg1 * 2], data[reg1 * 2 + 1]) << 16) +
60 if (sensor !=
nullptr)