Base class for General Purpose Measurement (GPM/KPOP) and General Purpose Meter (GPM/KLOP)
More...
|
| GeneralPurposeChannelBase (MeasurementDriver *driver=nullptr, bool addMemoryVariableDriver=true) |
| Constructor.
|
|
virtual | ~GeneralPurposeChannelBase () |
| Destructor.
|
|
double | getCalculatedValue () |
| Returns calculated value, which is result of the following operations:
|
|
void | getFormattedValue (char *result, int maxSize) |
| Returns formatted value as char array (including units, precision, etc.)
|
|
virtual double | getValue () |
| Method used to obtain new value for channel.
|
|
virtual void | setValue (const double &value) |
| Method used to set new value for channel with driver which accepts MeasurementDriver::setValue() method.
|
|
void | onInit () override |
| Supla::Element::onInit() - called by SuplaDeviceClass::begin() during initialization.
|
|
void | onLoadConfig (SuplaDeviceClass *sdc) override |
| Supla::Element::onLoadConfig() - called by SuplaDeviceClass::loadConfig() during initialization.
|
|
void | iterateAlways () override |
| Supla::Element::iterateAlways() - called by SuplaDeviceClass::iterate()
|
|
uint8_t | applyChannelConfig (TSD_ChannelConfig *result, bool local) override |
| Applies new Channel Config (i.e.
|
|
void | fillChannelConfig (void *channelConfig, int *size) override |
| Fills Channel Config.
|
|
|
Default parameters should be configured in software.
GPM doesn't store it by itself. Defualt values are applied by server as first default configuration when channel is registered for the first time and configuration for those parameters is not set. If default value stored on server is different from current channel's configuration, it will be applied. However current configuration value will not be overwritten. Use "reset to defaults" button on Supla Cloud to reset configuration to default values.
|
void | setDefaultValueDivider (int32_t divider) |
| Sets default value divider.
|
|
void | setDefaultValueMultiplier (int32_t multiplier) |
| Sets default value multiplier.
|
|
void | setDefaultValueAdded (int64_t added) |
| Sets default value added.
|
|
void | setDefaultValuePrecision (uint8_t precision) |
| Sets default precision (number of decimal places)
|
|
void | setDefaultUnitBeforeValue (const char *unit) |
| Sets default unit which is displayed before value.
|
|
void | setDefaultUnitAfterValue (const char *unit) |
| Sets default unit which is displayed after value.
|
|
|
int32_t | getDefaultValueDivider () const |
| Returns default value divider.
|
|
int32_t | getDefaultValueMultiplier () const |
| Returns default value multiplier.
|
|
int64_t | getDefaultValueAdded () const |
| Returns default value added.
|
|
uint8_t | getDefaultValuePrecision () const |
| Returns default precision (number of decimal places)
|
|
void | getDefaultUnitBeforeValue (char unit[SUPLA_GENERAL_PURPOSE_UNIT_SIZE]) |
| Returns default unit which is displayed before value.
|
|
void | getDefaultUnitAfterValue (char unit[SUPLA_GENERAL_PURPOSE_UNIT_SIZE]) |
| Returns default unit which is displayed after value.
|
|
|
Each call to setters will modify channel config and send it to Supla Server.
This shouldn't be used as a channel config setup step, because on each device startup it will overwrite user's configuration.
local parameter should be set to true if method is called locally by device. False is used when called as a result of processing SetChannelConfig from server. When local is true, channel configuration will be sent to Supla Server.
|
void | setRefreshIntervalMs (int32_t intervalMs, bool local=true) |
| Sets refresh interval in milliseconds.
|
|
void | setValueDivider (int32_t divider, bool local=true) |
| Sets value divider.
|
|
void | setValueMultiplier (int32_t multiplier, bool local=true) |
| Sets value multiplier.
|
|
void | setValueAdded (int64_t added, bool local=true) |
| Sets value added.
|
|
void | setValuePrecision (uint8_t precision, bool local=true) |
| Sets precision.
|
|
void | setUnitBeforeValue (const char *unit, bool local=true) |
| Sets unit which is displayed before value.
|
|
void | setUnitAfterValue (const char *unit, bool local=true) |
| Sets unit which is displayed after value.
|
|
void | setNoSpaceBeforeValue (uint8_t noSpaceBeforeValue, bool local=true) |
| Sets no space before value.
|
|
void | setNoSpaceAfterValue (uint8_t noSpaceAfterValue, bool local=true) |
| Sets no space after value.
|
|
void | setKeepHistory (uint8_t keepHistory, bool local=true) |
| Sets keep history flag.
|
|
void | setChartType (uint8_t chartType, bool local=true) |
| Sets chart type.
|
|
|
uint16_t | getRefreshIntervalMs () const |
| Returns refresh interval in milliseconds.
|
|
int32_t | getValueDivider () const |
| Returns value divider.
|
|
int32_t | getValueMultiplier () const |
| Returns value multiplier.
|
|
int64_t | getValueAdded () const |
| Returns value added.
|
|
uint8_t | getValuePrecision () const |
| Returns precision (number of decimal places)
|
|
void | getUnitBeforeValue (char unit[SUPLA_GENERAL_PURPOSE_UNIT_SIZE]) const |
| Returns unit which is displayed before value.
|
|
void | getUnitAfterValue (char unit[SUPLA_GENERAL_PURPOSE_UNIT_SIZE]) const |
| Returns unit which is displayed after value.
|
|
uint8_t | getNoSpaceBeforeValue () const |
| Returns no space before value.
|
|
uint8_t | getNoSpaceAfterValue () const |
| Returns no space after value.
|
|
uint8_t | getKeepHistory () const |
| Returns keep history flag.
|
|
uint8_t | getChartType () const |
| Returns chart type.
|
|
| ChannelElement (int channelNumber=-1) |
|
Channel * | getChannel () override |
|
const Channel * | getChannel () const override |
| Returns pointer to main channel.
|
|
void | addAction (uint16_t action, ActionHandler &client, uint16_t event, bool alwaysEnabled=false) override |
|
void | addAction (uint16_t action, ActionHandler *client, uint16_t event, bool alwaysEnabled=false) override |
|
virtual void | addAction (uint16_t action, ActionHandler &client, Supla::Condition *condition, bool alwaysEnabled=false) |
|
virtual void | addAction (uint16_t action, ActionHandler *client, Supla::Condition *condition, bool alwaysEnabled=false) |
|
bool | isEventAlreadyUsed (uint16_t event, bool ignoreAlwaysEnabled) override |
|
void | onRegistered (Supla::Protocol::SuplaSrpc *suplaSrpc) override |
| Method called each time when device successfully registers to Supla server.
|
|
bool | iterateConnected () override |
| Method called on each SuplaDevice iteration when device is connected and registered to Supla server or other protocol.
|
|
void | handleChannelConfigFinished () override |
| Handles "channel config finished" message from server.
|
|
uint8_t | handleChannelConfig (TSD_ChannelConfig *result, bool local) override |
| Handles "set channel config" request from server.
|
|
void | handleSetChannelConfigResult (TSDS_SetChannelConfigResult *result) override |
| Handles "set channel config" reply from server.
|
|
void | purgeConfig () override |
| Removes all configration data related to the element from Storage::Config.
|
|
void | clearChannelConfigChangedFlag () |
|
void | runAction (uint16_t event) const override |
|
virtual bool | setAndSaveFunction (_supla_int_t channelFunction) |
|
virtual bool | loadFunctionFromConfig () |
|
virtual bool | saveConfigChangeFlag () |
|
virtual bool | loadConfigChangeFlag () |
|
bool | isAnyUpdatePending () override |
| Returns true if any update is pending.
|
|
virtual void | fillChannelOcrConfig (void *channelConfig, int *size) |
|
void | triggerSetChannelConfig () |
|
Element * | next () |
| Returns next Element from the list.
|
|
virtual void | onLoadState () |
| Second method called on element in SuplaDevice.begin().
|
|
virtual void | onSaveState () |
| Method called periodically during SuplaDevice iteration.
|
|
virtual bool | iterateConnected (void *ptr) |
| deprecated
|
|
virtual void | onTimer () |
| Method called on timer interupt.
|
|
virtual void | onFastTimer () |
| Method called on fast timer interupt.
|
|
virtual void | onSoftReset () |
| Method called when device soft restart is triggered.
|
|
virtual void | onDeviceConfigChange (uint64_t fieldBit) |
| Method called when device config is changed.
|
|
virtual int32_t | handleNewValueFromServer (TSD_SuplaChannelNewValue *newValue) |
| Handles "new value" request from server.
|
|
virtual void | fillSuplaChannelNewValue (TSD_SuplaChannelNewValue *value) |
| Fills TSD_SuplaChannelNewValue based on current state.
|
|
virtual void | handleGetChannelState (TDSC_ChannelState *channelState) |
| Handles "get channel state (i)" request from server.
|
|
virtual int | handleCalcfgFromServer (TSD_DeviceCalCfgRequest *request) |
| Handles CALCFG requests from server.
|
|
virtual uint8_t | handleWeeklySchedule (TSD_ChannelConfig *newWeeklySchedule, bool altSchedule=false, bool local=false) |
| Handles "set channel config" with "weekly schedule" type request from server.
|
|
int | getChannelNumber () const |
| Returns channel number.
|
|
int | getSecondaryChannelNumber () const |
| Returns secondary channel number.
|
|
virtual bool | isOwnerOfSubDeviceId (int subDeviceId) const |
| Returns true if element is owner of subDeviceId.
|
|
virtual const Channel * | getSecondaryChannel () const |
| Returns pointer to secondary channel.
|
|
virtual Channel * | getSecondaryChannel () |
|
virtual void | generateKey (char *output, const char *key) const |
| Generates key used for Config.
|
|
Element & | disableChannelState () |
| Disables channel state (i) function.
|
|
bool | isChannelStateEnabled () const |
| Returns true if channel state (i) function is enabled.
|
|
void | setInitialCaption (const char *caption, bool secondaryChannel=false) |
| Sets initial caption.
|
|
void | setDefaultFunction (int32_t defaultFunction) |
| Sets default channel's function.
|
|
virtual ActionHandlerClient * | getHandlerForFirstClient (uint16_t event) |
|
virtual ActionHandlerClient * | getHandlerForClient (ActionHandler *client, uint16_t event) |
|
virtual void | disableOtherClients (const ActionHandler &client, uint16_t event) |
|
virtual void | enableOtherClients (const ActionHandler &client, uint16_t event) |
|
virtual void | disableOtherClients (const ActionHandler *client, uint16_t event) |
|
virtual void | enableOtherClients (const ActionHandler *client, uint16_t event) |
|
virtual void | disableAction (int32_t action, ActionHandler *client, int32_t event) |
|
virtual void | enableAction (int32_t action, ActionHandler *client, int32_t event) |
|
virtual bool | disableActionsInConfigMode () |
|
Base class for General Purpose Measurement (GPM/KPOP) and General Purpose Meter (GPM/KLOP)
GPM can have either MeasurementDriver provided which is used to obtain value for a channel, or derived class can be used, which implements getValue method.