6static const char *
const TAG =
"kuntze";
8static constexpr uint16_t REGISTER_PH = 4136;
9static constexpr uint16_t REGISTER_TEMPERATURE = 4160;
10static constexpr uint16_t REGISTER_DIS1 = 4680;
11static constexpr uint16_t REGISTER_DIS2 = 6000;
12static constexpr uint16_t REGISTER_REDOX = 4688;
13static constexpr uint16_t REGISTER_EC = 4728;
14static constexpr uint16_t REGISTER_OCI = 5832;
15static constexpr uint16_t REGISTER[] = {REGISTER_PH, REGISTER_TEMPERATURE, REGISTER_DIS1, REGISTER_DIS2,
16 REGISTER_REDOX, REGISTER_EC, REGISTER_OCI};
24 float value = registers[0];
25 for (uint16_t i = 0; i < (registers[1] & 0xFF); i++)
30 ESP_LOGD(TAG,
"pH=%.1f", value);
34 case REGISTER_TEMPERATURE:
35 ESP_LOGD(TAG,
"temperature=%.1f", value);
40 ESP_LOGD(TAG,
"DIS1=%.1f", value);
45 ESP_LOGD(TAG,
"DIS2=%.1f", value);
50 ESP_LOGD(TAG,
"REDOX=%.1f", value);
55 ESP_LOGD(TAG,
"EC=%.1f", value);
60 ESP_LOGD(TAG,
"OCI=%.1f", value);
68 for (uint16_t reg : REGISTER)
69 this->read_holding_registers(reg, 2);
sensor::Sensor * temperature_sensor_
void on_read_holding_registers(uint16_t start_address, std::span< const uint16_t > registers, modbus::ResponseStatus status) override
sensor::Sensor * dis2_sensor_
sensor::Sensor * ec_sensor_
sensor::Sensor * oci_sensor_
sensor::Sensor * ph_sensor_
sensor::Sensor * dis1_sensor_
sensor::Sensor * redox_sensor_
void dump_config() override
void publish_state(float state)
Publish a new state to the front-end.
std::optional< ExceptionCode > ResponseStatus
bool succeeded(ResponseStatus status)
True when a transaction carried no exception.