|
supla-device
|


Public Member Functions | |
| RelayRollerShutterPair (Supla::Io::IoPin output0, Supla::Io::IoPin output1, bool tiltFunctionsEnabled=true, _supla_int_t relayFunctions=(0xFF ^ SUPLA_BIT_FUNC_CONTROLLINGTHEROLLERSHUTTER)) | |
| RelayRollerShutterPair (Supla::Io::Base *io, int output0, int output1, bool highIsOn=true, bool tiltFunctionsEnabled=true, _supla_int_t relayFunctions=(0xFF ^ SUPLA_BIT_FUNC_CONTROLLINGTHEROLLERSHUTTER)) | |
| RelayRollerShutterPair (int output0, int output1, bool highIsOn=true, bool tiltFunctionsEnabled=true, _supla_int_t relayFunctions=(0xFF ^ SUPLA_BIT_FUNC_CONTROLLINGTHEROLLERSHUTTER)) | |
| void | attach (Button *primaryButton, Button *secondaryButton, bool asInternal=true) |
| void | attach (Button *primaryButton, Button *secondaryButton, ActionTrigger *primaryActionTrigger, ActionTrigger *secondaryActionTrigger, bool asInternal=true) |
| void | attach (Button *button, bool primaryOrUp, bool asInternal=true) |
| void | attach (Button *button, ActionTrigger *actionTrigger, bool primaryOrUp, bool asInternal=true) |
| Channel * | getChannel () override |
| const Channel * | getChannel () const override |
| Returns pointer to main channel. | |
| Channel * | getSecondaryChannel () override |
| const Channel * | getSecondaryChannel () const override |
| Returns pointer to secondary channel. | |
| bool | isInRelayMode () const |
| bool | isInRollerShutterMode () const |
| RelayRollerShutterPair & | setDefaultStateOn () |
| RelayRollerShutterPair & | setDefaultStateOff () |
| RelayRollerShutterPair & | setDefaultStateRestore () |
| RelayRollerShutterPair & | setPreloadStateOnSoftReset (bool enabled=true) |
| RelayRollerShutterPair & | setWeeklyScheduleAvailable (bool available=true) |
| bool | setDefaultFunctions (uint32_t primaryFunction, uint32_t secondaryFunction) |
| bool | setRuntimeFunctions (uint32_t primaryFunction, uint32_t secondaryFunction) |
| Relay * | getPrimaryRelay () |
| const Relay * | getPrimaryRelay () const |
| Relay * | getSecondaryRelay () |
| const Relay * | getSecondaryRelay () const |
| RollerShutter * | getRollerShutter () |
| const RollerShutter * | getRollerShutter () const |
| int32_t | handleNewValueFromServer (TSD_SuplaChannelNewValue *value) override |
| Handles "new value" request from server. | |
| void | fillSuplaChannelNewValue (TSD_SuplaChannelNewValue *value) override |
| Fills TSD_SuplaChannelNewValue based on current state. | |
| bool | getRemainingCountdownTimerSec (uint32_t *remainingSec) const override |
| Returns active countdown timer remaining time in seconds. | |
| uint8_t | handleChannelConfig (TSD_ChannelConfig *config, bool local=false) override |
| Handles "set channel config" request from server. | |
| uint8_t | handleWeeklySchedule (TSD_ChannelConfig *config, bool altSchedule, bool local) 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 | handleChannelConfigFinished () override |
| Handles "channel config finished" message from server. | |
| void | handleChannelConfigFinished (int channelNumber) override |
| Handles "channel config finished" for a specific channel. | |
| int | handleCalcfgFromServer (TSD_DeviceCalCfgRequest *request) override |
| Handles CALCFG requests from server. | |
| uint32_t | getCalcfgPendingTimeoutMs (TSD_DeviceCalCfgRequest *request) const override |
| Returns timeout in milliseconds for CALCFG requests that become pending. | |
| void | onLoadConfig (SuplaDeviceClass *sdc) override |
| First method called on element in SuplaDevice.begin(). | |
| void | purgeConfig () override |
| Removes all configration data related to the element from Storage::Config. | |
| void | onLoadState () override |
| Second method called on element in SuplaDevice.begin(). | |
| void | onSaveState () override |
| Method called periodically during SuplaDevice iteration. | |
| void | onInit () override |
| Third method called on element in SuplaDevice.begin() | |
| void | iterateAlways () override |
| Method called on each SuplaDevice iteration. | |
| bool | iterateConnected () override |
| Method called on each SuplaDevice iteration when device is connected and registered to Supla server or other protocol. | |
| void | onTimer () override |
| Method called on timer interupt. | |
| void | onFunctionChange (uint32_t currentFunction, uint32_t newFunction) override |
| Called when channel function changes. | |
| ApplyConfigResult | applyChannelConfig (TSD_ChannelConfig *config, bool local=false) override |
| void | fillChannelConfig (void *channelConfig, int *size, uint8_t configType) override |
Public Member Functions inherited from Supla::ElementWithChannelActions | |
| 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. | |
| 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. | |
| 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 bool | isStateStorageMigrationNeeded () const |
| Method called after onInit() to check if state storage migration is needed. | |
| 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 void | handleGetChannelState (TDSC_ChannelState *channelState) |
| Handles "get channel state (i)" 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. | |
| 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. | |
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 | |
| bool | setRuntimeFunction (uint32_t channelFunction) override |
| Sets channel's function at runtime. | |
| bool | setAndSaveFunction (uint32_t channelFunction) override |
Protected Member Functions inherited from Supla::ElementWithChannelActions | |
| 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 |
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 () |
Protected Attributes inherited from Supla::ElementWithChannelActions | |
| 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 |
Static Protected Attributes inherited from Supla::Element | |
| static Element * | firstPtr = nullptr |
| static bool | invalidatePtr = false |
|
overridevirtual |
Reimplemented from Supla::ElementWithChannelActions.
|
overridevirtual |
Reimplemented from Supla::ElementWithChannelActions.
|
overridevirtual |
Fills TSD_SuplaChannelNewValue based on current state.
| value | pointer to TSD_SuplaChannelNewValue which should be filled |
Reimplemented from Supla::Element.
|
overridevirtual |
Returns timeout in milliseconds for CALCFG requests that become pending.
Zero means no timeout.
Reimplemented from Supla::Element.
|
overridevirtual |
Returns pointer to main channel.
Reimplemented from Supla::Element.
|
overridevirtual |
Reimplemented from Supla::Element.
|
overridevirtual |
Returns active countdown timer remaining time in seconds.
| remainingSec | output pointer for remaining seconds. It is set to 0 when the countdown timer is not available or inactive. |
Reimplemented from Supla::Element.
|
overridevirtual |
Returns pointer to secondary channel.
Reimplemented from Supla::Element.
|
overridevirtual |
Reimplemented from Supla::Element.
|
overridevirtual |
Handles CALCFG requests from server.
| request |
Reimplemented from Supla::Element.
|
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::ElementWithChannelActions.
|
overridevirtual |
Handles "channel config finished" message from server.
This message informs device that server finished sending channel config for this element.
Reimplemented from Supla::ElementWithChannelActions.
|
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::ElementWithChannelActions.
|
overridevirtual |
Handles "new value" request from server.
| newValue | pointer to TSD_SuplaChannelNewValue |
Reimplemented from Supla::Element.
|
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::ElementWithChannelActions.
|
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::ElementWithChannelActions.
|
overridevirtual |
Method called on each SuplaDevice iteration.
It should provide all actions that have to be executed periodically regardless of network state.
Reimplemented from Supla::Element.
|
overridevirtual |
Method called on each SuplaDevice iteration when device is connected and registered to Supla server or other protocol.
Reimplemented from Supla::ElementWithChannelActions.
|
overridevirtual |
Called when channel function changes.
| currentFunction | old function |
| newFunction | new function |
Reimplemented from Supla::Element.
|
overridevirtual |
Third method called on element in SuplaDevice.begin()
Method called during SuplaDevice initialization. I.e. load initial state, initialize pins etc.
Reimplemented from Supla::Element.
|
overridevirtual |
First method called on element in SuplaDevice.begin().
Called only if Config Storage class is configured. Element should read its configration in this method.
| sdc |
Reimplemented from Supla::Element.
|
overridevirtual |
Second method called on element in SuplaDevice.begin().
Method called during state Storage initialization (i.e. read from EEPROM, FRAM). Called only if Storage class is configured.
Reimplemented from Supla::Element.
|
overridevirtual |
Method called periodically during SuplaDevice iteration.
It should provide state saving for this elemnet to Storage
Reimplemented from Supla::Element.
|
overridevirtual |
Method called on timer interupt.
It should provide all actions that have to be executed periodically regardless of other SuplaDevice activities. It is usually called every 10 ms.
Reimplemented from Supla::Element.
|
overridevirtual |
Removes all configration data related to the element from Storage::Config.
Reimplemented from Supla::ElementWithChannelActions.
|
overrideprotectedvirtual |
Reimplemented from Supla::ElementWithChannelActions.
|
overrideprotectedvirtual |
Sets channel's function at runtime.
Elements which require additional runtime setup after a function change should override this method. The default implementation calls setFunction().
| newFunction |
Reimplemented from Supla::Element.