supla-device
Loading...
Searching...
No Matches
Supla::ElementWithChannelActions Class Reference
Inheritance diagram for Supla::ElementWithChannelActions:
Collaboration diagram for Supla::ElementWithChannelActions:

Public Member Functions

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 uint8_t applyChannelConfig (TSD_ChannelConfig *result, bool local)
 
virtual void fillChannelConfig (void *channelConfig, int *size)
 
virtual void fillChannelOcrConfig (void *channelConfig, int *size)
 
void triggerSetChannelConfig ()
 
- Public Member Functions inherited from Supla::Element
Elementnext ()
 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 void iterateAlways ()
 Method called on each 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 ChannelgetChannel () const
 Returns pointer to main channel.
 
virtual ChannelgetChannel ()
 
virtual const ChannelgetSecondaryChannel () const
 Returns pointer to secondary channel.
 
virtual ChannelgetSecondaryChannel ()
 
virtual void generateKey (char *output, const char *key) const
 Generates key used for Config.
 
ElementdisableChannelState ()
 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.
 
- Public Member Functions inherited from Supla::LocalAction
virtual ActionHandlerClientgetHandlerForFirstClient (uint16_t event)
 
virtual ActionHandlerClientgetHandlerForClient (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 hasOcrConfig () const
 
virtual bool isOcrConfigMissing () const
 
virtual void clearOcrConfig ()
 

Protected Attributes

Supla::ChannelConfigState channelConfigState
 
bool configFinishedReceived = false
 
uint8_t setChannelConfigAttempts = 0
 
- Protected Attributes inherited from Supla::Element
ElementnextPtr = nullptr
 

Additional Inherited Members

- Static Public Member Functions inherited from Supla::Element
static Elementbegin ()
 Returns first Element (based on creation order)
 
static Elementlast ()
 Returns last Element (based on creation order)
 
static ElementgetElementByChannelNumber (int channelNumber)
 Returns Element by channel number.
 
static ElementgetOwnerOfSubDeviceId (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 DeleteActionsTriggeredBy (const LocalAction *action)
 
static void NullifyActionsHandledBy (const ActionHandler *client)
 
static ActionHandlerClientgetClientListPtr ()
 
- Static Protected Attributes inherited from Supla::Element
static ElementfirstPtr = nullptr
 
static bool invalidatePtr = false
 

Member Function Documentation

◆ addAction() [1/2]

void Supla::ElementWithChannelActions::addAction ( uint16_t action,
Supla::ActionHandler & client,
uint16_t event,
bool alwaysEnabled = false )
overridevirtual

Reimplemented from Supla::LocalAction.

◆ addAction() [2/2]

void Supla::ElementWithChannelActions::addAction ( uint16_t action,
Supla::ActionHandler * client,
uint16_t event,
bool alwaysEnabled = false )
overridevirtual

Reimplemented from Supla::LocalAction.

◆ applyChannelConfig()

uint8_t Supla::ElementWithChannelActions::applyChannelConfig ( TSD_ChannelConfig * result,
bool local )
virtual

◆ fillChannelConfig()

void Supla::ElementWithChannelActions::fillChannelConfig ( void * channelConfig,
int * size )
virtual

◆ handleChannelConfig()

uint8_t Supla::ElementWithChannelActions::handleChannelConfig ( TSD_ChannelConfig * newChannelConfig,
bool local )
overridevirtual

Handles "set channel config" request from server.

Parameters
newChannelConfigpointer to new channel configuration
localtrue if request is local (issued by device itself), false when requests originates from server.
Returns
SUPLA_RESULTCODE_* (see proto.h)

Reimplemented from Supla::Element.

Reimplemented in HvacBase, and Supla::Control::HvacBase.

◆ handleChannelConfigFinished()

void Supla::ElementWithChannelActions::handleChannelConfigFinished ( )
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 HvacBase, and Supla::Control::HvacBase.

◆ handleSetChannelConfigResult()

void Supla::ElementWithChannelActions::handleSetChannelConfigResult ( TSDS_SetChannelConfigResult * result)
overridevirtual

Handles "set channel config" reply from server.

All types of channel config should be handled here (including weekly schedule, default config, etc).

Parameters
result

Reimplemented from Supla::Element.

Reimplemented in HvacBase, and Supla::Control::HvacBase.

◆ isAnyUpdatePending()

bool Supla::ElementWithChannelActions::isAnyUpdatePending ( )
overridevirtual

Returns true if any update is pending.

Returns
true if any update is pending

Reimplemented from Supla::Element.

◆ isEventAlreadyUsed()

bool Supla::ElementWithChannelActions::isEventAlreadyUsed ( uint16_t event,
bool ignoreAlwaysEnabled )
overridevirtual

Reimplemented from Supla::LocalAction.

◆ iterateConnected()

bool Supla::ElementWithChannelActions::iterateConnected ( )
overridevirtual

Method called on each SuplaDevice iteration when device is connected and registered to Supla server or other protocol.

Returns
false when element didn't communicate with server and next element should be iterated instead. true otherwise.

Reimplemented from Supla::Element.

Reimplemented in HvacBase, OcrImpulseCounter, Relay, Supla::Control::HvacBase, Supla::Control::Relay, Supla::PV::Fronius, Supla::PV::SolarEdge, Supla::Sensor::OcrImpulseCounter, and Supla::Sensor::ThermHygroPressMeter.

◆ onRegistered()

void Supla::ElementWithChannelActions::onRegistered ( Supla::Protocol::SuplaSrpc * suplaSrpc)
overridevirtual

Method called each time when device successfully registers to Supla server.

Parameters
suplaSrpc

Reimplemented from Supla::Element.

Reimplemented in HvacBase, Relay, Supla::Control::HvacBase, and Supla::Control::Relay.

◆ purgeConfig()

void Supla::ElementWithChannelActions::purgeConfig ( )
overridevirtual

Removes all configration data related to the element from Storage::Config.

Reimplemented from Supla::Element.

Reimplemented in HvacBase, RollerShutterInterface, Supla::Control::HvacBase, Supla::Control::RollerShutterInterface, Supla::Control::ValveBase, Supla::Sensor::ThermHygroMeter, and ValveBase.

◆ runAction()

void Supla::ElementWithChannelActions::runAction ( uint16_t event) const
overridevirtual

Reimplemented from Supla::LocalAction.

Member Data Documentation

◆ channelConfigState

Supla::ChannelConfigState Supla::ElementWithChannelActions::channelConfigState
protected
Initial value:
=
Supla::ChannelConfigState::None

The documentation for this class was generated from the following files: