9static int16_t get_i16be(std::span<const uint8_t>
message,
size_t start) {
14 ESP_LOGCONFIG(TAG,
"SystaSolar Aqua:");
15 LOG_SENSOR(
" ",
"Temperature TSA", this->temperature_tsa_sensor_);
16 LOG_SENSOR(
" ",
"Temperature TSE", this->temperature_tse_sensor_);
17 LOG_SENSOR(
" ",
"Temperature TWU", this->temperature_twu_sensor_);
18 LOG_SENSOR(
" ",
"Temperature TW2", this->temperature_tw2_sensor_);
19 LOG_SENSOR(
" ",
"Pump Speed", this->pump_speed_sensor_);
22void SystaSolarAquaSensor::handle_message(std::span<const uint8_t>
message) {
25 if (this->temperature_tsa_sensor_ !=
nullptr)
26 this->temperature_tsa_sensor_->publish_state(get_i16be(
message, 4) * 0.1f);
27 if (this->temperature_tse_sensor_ !=
nullptr)
28 this->temperature_tse_sensor_->publish_state(get_i16be(
message, 6) * 0.1f);
29 if (this->temperature_twu_sensor_ !=
nullptr)
30 this->temperature_twu_sensor_->publish_state(get_i16be(
message, 8) * 0.1f);
31 if (this->temperature_tw2_sensor_ !=
nullptr)
32 this->temperature_tw2_sensor_->publish_state(get_i16be(
message, 10) * 0.1f);
33 if (this->pump_speed_sensor_ !=
nullptr)
34 this->pump_speed_sensor_->publish_state(
message[12]);