|
supla-device
|


Public Member Functions | |
| ElementWithChannelActions (ElementMode mode=ElementMode::Registered) | |
| 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, uint16_t event, Supla::Condition *condition, bool alwaysEnabled=false) |
| Adds a conditional local action for a specific event. | |
| virtual void | addAction (uint16_t action, ActionHandler *client, uint16_t event, Supla::Condition *condition, bool alwaysEnabled=false) |
| Pointer variant of addAction(action, client, event, condition). | |
| 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. | |
| void | handleChannelConfigFinished (int channelNumber) override |
| Handles "channel config finished" for a specific channel. | |
| uint8_t | handleChannelConfig (TSD_ChannelConfig *result, bool local=false) override |
| Handles "set channel config" request from server. | |
| uint8_t | handleWeeklySchedule (TSD_ChannelConfig *result, bool altSchedule=false, bool local=false) override |
| Handles "set channel config" with "weekly schedule" type 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 | runAction (uint16_t event) const override |
| void | runAction (uint16_t event, const ActionAllowList &allowOnlyActions) const override |
| bool | isAnyUpdatePending () const override |
| Returns true if any update is pending. | |
| virtual ApplyConfigResult | applyChannelConfig (TSD_ChannelConfig *result, bool local) |
| virtual void | fillChannelConfig (void *channelConfig, int *size, uint8_t index) |
| void | triggerSetChannelConfig (int configType=SUPLA_CONFIG_TYPE_DEFAULT, bool localChange=false) |
| virtual bool | iterateConnected (void *ptr) |
| deprecated | |
Public Member Functions inherited from Supla::Element | |
| Element (ElementMode mode=ElementMode::Registered) | |
| virtual Control::ActionTrigger * | getActionTrigger () |
| Element * | next () |
| Returns next Element from the list. | |
| virtual void | onLoadConfig (SuplaDeviceClass *sdc) |
| First method called on element in SuplaDevice.begin(). | |
| virtual void | onLoadState () |
| Second method called on element in SuplaDevice.begin(). | |
| virtual void | onInit () |
| Third method called on element in SuplaDevice.begin() | |
| virtual void | onSaveState () |
| Method called periodically during SuplaDevice iteration. | |
| virtual bool | isStateStorageMigrationNeeded () const |
| Method called after onInit() to check if state storage migration is needed. | |
| virtual void | iterateAlways () |
| Method called on each SuplaDevice iteration. | |
| 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 bool | getRemainingCountdownTimerSec (uint32_t *remainingSec) const |
| Returns active countdown timer remaining time in seconds. | |
| 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 uint32_t | getCalcfgPendingTimeoutMs (TSD_DeviceCalCfgRequest *request) const |
| Returns timeout in milliseconds for CALCFG requests that become pending. | |
| 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 * | getChannel () const |
| Returns pointer to main channel. | |
| virtual Channel * | getChannel () |
| virtual const Channel * | getSecondaryChannel () const |
| Returns pointer to secondary channel. | |
| virtual Channel * | getSecondaryChannel () |
| const Channel * | getChannelByChannelNumber (int channelNumber) const |
| Returns pointer to the channel matching channelNumber. | |
| Channel * | getChannelByChannelNumber (int channelNumber) |
| 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. | |
| bool | setDefaultFunction (uint32_t defaultFunction) |
| Sets default channel's function. | |
| bool | setFunction (uint32_t newFunction) |
| Sets channel's function. | |
| virtual bool | setRuntimeFunction (uint32_t newFunction) |
| Sets channel's function at runtime. | |
| virtual void | onFunctionChange (uint32_t currentFunction, uint32_t newFunction) |
| Called when channel function changes. | |
Public Member Functions inherited from Supla::LocalAction | |
| virtual bool | hasEnabledAction (uint16_t event, uint16_t action) const |
| 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 () |
Protected Member Functions | |
| virtual bool | setAndSaveFunction (uint32_t channelFunction) |
| virtual bool | loadFunctionFromConfig () |
| virtual bool | shouldProcessChannelFunctionFromConfig () const |
| bool | setAndSaveConfigChangeFlag (bool value) |
| virtual bool | saveConfigChangeFlag () const |
| virtual bool | loadConfigChangeFlag () |
| void | clearChannelConfigChangedFlag () |
| void | markChannelConfigReceived (int configType) |
| void | markAllChannelConfigsReceived () |
| bool | isChannelConfigFinishedReceived () const |
| bool | isLocalChannelConfigChangePending (int configType) const |
| bool | iterateConfigExchange () |
| int | getNextConfigType () const |
| Returns the next config type to be sent. | |
| int | getNextLocalConfigType () const |
| bool | setLocalConfigChange (int configType, bool value=true) |
| void | clearLocalConfigChanges (int configType, int secondConfigType=-1) |
| uint8_t | getUsedLocalConfigTypes () const |
Protected Attributes | |
| ChannelConfigState | channelConfigState: 4 |
| uint8_t | setChannelConfigAttempts: 2 |
| uint8_t | configFinishedReceived: 1 |
| uint8_t | reserved: 1 |
| ConfigTypesBitmap | locallyChangedConfigTypes |
| ConfigTypesBitmap | usedConfigTypes |
| ConfigTypesBitmap | receivedConfigTypes |
Protected Attributes inherited from Supla::Element | |
| bool | registeredElement = true |
| Element * | nextPtr = nullptr |
Additional Inherited Members | |
Static Public Member Functions inherited from Supla::Element | |
| static Element * | begin () |
| Returns first Element (based on creation order) | |
| static Element * | last () |
| Returns last Element (based on creation order) | |
| static Element * | getElementByChannelNumber (int channelNumber) |
| Returns Element by channel number. | |
| static Element * | getOwnerOfSubDeviceId (int subDeviceId) |
| Returns Element which owns given subDeviceId. | |
| static bool | IsAnyUpdatePending () |
| Checks if any element has pending update for remote server. | |
| static void | NotifyElementsAboutConfigChange (uint64_t fieldBit) |
| Notifies all elements about device config change. | |
| static bool | IsInvalidPtrSet () |
| When "invalid pointer" is set, previously obtained Element pointer may be invalid. | |
| static void | ClearInvalidPtr () |
| Clears "invalid pointer" flag. | |
Static Public Member Functions inherited from Supla::LocalAction | |
| static void | DeleteActionsHandledBy (const ActionHandler *client) |
| static void | DeleteActionsHandledByExcept (const ActionHandler *client, const ActionAllowList &preservedActions) |
| static void | DeleteActionsTriggeredBy (const LocalAction *action) |
| static void | DeleteAction (const LocalAction *trigger, const ActionHandler *client, uint16_t event, uint16_t action) |
| static void | NullifyActionsHandledBy (const ActionHandler *client) |
| static ActionHandlerClient * | getClientListPtr () |
Static Protected Attributes inherited from Supla::Element | |
| static Element * | firstPtr = nullptr |
| static bool | invalidatePtr = false |
|
overridevirtual |
Reimplemented from Supla::LocalAction.
|
virtual |
Adds a conditional local action for a specific event.
The condition source is this element and the condition client is the provided action handler. The existing addAction(action, client, condition) overload remains a shorthand for ON_CHANGE.
|
overridevirtual |
Reimplemented from Supla::LocalAction.
|
virtual |
Reimplemented in Supla::Sensor::GeneralPurposeChannelBase, and Supla::Sensor::GeneralPurposeMeter.
|
virtual |
Reimplemented in Supla::Sensor::BinaryBase, Supla::Sensor::GeneralPurposeChannelBase, and Supla::Sensor::GeneralPurposeMeter.
|
protected |
Returns the next config type to be sent.
|
overridevirtual |
Handles "set channel config" request from server.
| newChannelConfig | pointer to new channel configuration |
| local | true if request is local (issued by device itself), false when requests originates from server. |
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::HvacBase, and Supla::Control::RelayRollerShutterPair.
|
overridevirtual |
Handles "channel config finished" message from server.
This message informs device that server finished sending channel config for this element.
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::HvacBase, and Supla::Control::RelayRollerShutterPair.
|
overridevirtual |
Handles "channel config finished" for a specific channel.
The default implementation forwards the event to the primary channel handler only when the channel belongs to this element.
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::RelayRollerShutterPair.
|
overridevirtual |
Handles "set channel config" reply from server.
All types of channel config should be handled here (including weekly schedule, default config, etc).
| result |
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::HvacBase, and Supla::Control::RelayRollerShutterPair.
|
overridevirtual |
Handles "set channel config" with "weekly schedule" type request from server.
| newWeeklySchedule | pointer to new weekly schedule |
| altSchedule | true if request is for alternative schedule (for cooling) |
| local | true if request is local (issued by device itself), false when requests originates from server. |
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::RelayRollerShutterPair.
|
overridevirtual |
Returns true if any update is pending.
Reimplemented from Supla::Element.
|
overridevirtual |
Reimplemented from Supla::LocalAction.
|
overridevirtual |
Method called on each SuplaDevice iteration when device is connected and registered to Supla server or other protocol.
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::HvacBase, Supla::Control::ManagedRelay, Supla::Control::Relay, Supla::Control::RelayRollerShutterPair, Supla::PV::Fronius, Supla::PV::SolarEdge, Supla::Sensor::OcrImpulseCounter, and Supla::Sensor::ThermHygroPressMeter.
|
virtual |
deprecated
Reimplemented from Supla::Element.
|
overridevirtual |
Method called each time when device successfully registers to Supla server.
| suplaSrpc |
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::HvacBase, Supla::Control::Relay, and Supla::Sensor::OcrImpulseCounter.
|
overridevirtual |
Removes all configration data related to the element from Storage::Config.
Reimplemented from Supla::Element.
Reimplemented in Supla::Control::HvacBase, Supla::Control::LightingPwmBase, Supla::Control::Relay, Supla::Control::RelayRollerShutterPair, Supla::Control::RollerShutterInterface, Supla::Control::ValveBase, Supla::Sensor::MultiDsSensor, and Supla::Sensor::ThermHygroMeter.
|
overridevirtual |
Reimplemented from Supla::LocalAction.
|
overridevirtual |
Reimplemented from Supla::LocalAction.