4#ifndef SRC_SUPLA_SENSOR_MULTI_DS_SENSOR_H_
5#define SRC_SUPLA_SENSOR_MULTI_DS_SENSOR_H_
7#include <supla/sensor/thermometer.h>
8#include <supla/storage/storage.h>
9#include <supla/storage/config.h>
18class MultiDsHandlerBase;
22 uint8_t channelNumber = 0;
23 uint8_t address[8] = {};
30 uint8_t *deviceAddress,
bool useSubDevices,
32 handler(handler), subDeviceId(subDeviceId) {
36 channel.setSubDeviceId(
static_cast<uint8_t
>(subDeviceId));
38 memcpy(address, deviceAddress, 8);
43 double getValue()
override;
45 void saveSensorConfig();
48 uint8_t *getAddress() {
52 int getSubDeviceId()
const {
57 return this->subDeviceId == subDeviceId;
60 void setDetailsSend(
bool send) { detailsSend = send; }
61 bool getDetailsSend() {
return detailsSend; }
65 uint8_t address[8] = {};
69 int8_t retryCounter = 0;
70 double lastValidValue = TEMPERATURE_NOT_AVAILABLE;
71 bool detailsSend =
false;
Definition multi_ds_handler_base.h:31
Definition multi_ds_sensor.h:27
void onInit() override
Third method called on element in SuplaDevice.begin()
Definition multi_ds_sensor.cpp:13
void purgeConfig() override
Removes all configration data related to the element from Storage::Config.
Definition multi_ds_sensor.cpp:75
void iterateAlways() override
Method called on each SuplaDevice iteration.
Definition multi_ds_sensor.cpp:17
bool isOwnerOfSubDeviceId(int subDeviceId) const override
Returns true if element is owner of subDeviceId.
Definition multi_ds_sensor.h:56
Definition thermometer.h:13
Definition multi_ds_sensor.h:21