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

Public Member Functions

 Binary (Supla::Io::IoPin inputPin)
 
 Binary (Supla::Io::Base *io, int pin, bool pullUp=false, bool invertLogic=false)
 
 Binary (int pin, bool pullUp=false, bool invertLogic=false)
 
bool getValue () override
 
void onInit () override
 Third method called on element in SuplaDevice.begin()
 
- Public Member Functions inherited from Supla::Sensor::BinaryBase
void iterateAlways () override
 Method called on each SuplaDevice iteration.
 
Channel * getChannel () override
 
const Channel * getChannel () const override
 Returns pointer to main channel.
 
void onLoadConfig (SuplaDeviceClass *) override
 First method called on element in SuplaDevice.begin().
 
Supla::ApplyConfigResult applyChannelConfig (TSD_ChannelConfig *config, bool local=false) override
 
bool isServerInvertLogic () const
 Get the invert logic setting.
 
bool setServerInvertLogic (bool invertLogic, bool local=true)
 Set the invert logic.
 
void setTurnActionSyncOnStartup (bool enabled=true)
 Enable a one-time local turn action after the initial sensor value has become stable.
 
uint16_t getTimeoutDs () const
 Get the timeout in deciseconds (1 == 0.1 s).
 
bool setTimeoutDs (uint16_t timeoutDs, bool local=true)
 Set the timeout in deciseconds (1 == 0.1 s).
 
uint16_t getFilteringTimeMs () const
 Get the filtering time in ms.
 
bool setFilteringTimeMs (uint16_t filteringTimeMs, bool local=true)
 Set the filtering time in ms.
 
uint8_t getSensitivity () const
 Get the sensitivity.
 
bool setSensitivity (uint8_t sensitivity, bool local=true)
 Set the sensitivity.
 
uint8_t getLocalAlarmIndication () const
 Get the local alarm indication state.
 
bool setLocalAlarmIndication (uint8_t localAlarmIndication, bool local=true)
 Set the local alarm indication state.
 
void setReadIntervalMs (uint32_t intervalMs)
 Set the read interval in ms.
 
void purgeConfig () override
 Purge the configuration.
 
void fillChannelConfig (void *channelConfig, int *size, uint8_t configType) override
 Fill the channel config.
 
- 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.
 
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.
 
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 onLoadState ()
 Second 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 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 * 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 Attributes

Supla::Io::IoPin inputPin
 
bool filterInitialized = false
 
bool newStateCandidateValue = false
 
bool prevValue = false
 
uint32_t lastStateChangeMs = 0
 
- Protected Attributes inherited from Supla::Sensor::BinaryBase
uint32_t lastReadTime = 0
 
uint32_t readIntervalMs = 100
 
uint32_t startupSyncStartTimeMs = 0
 
LocalActionState localActionState = LocalActionState::LoadingConfig
 
bool turnActionSyncOnStartup = false
 
bool initialStateCandidatePending = false
 
bool inputStateCandidatePending = false
 
BinarySensorChannel channel
 
BinarySensorConfig config
 
- Protected Attributes inherited from Supla::ElementWithChannelActions
uint8_t channelConfigState: 4
 
uint8_t setChannelConfigAttempts: 2
 
uint8_t configFinishedReceived: 1
 
uint8_t reserved: 1
 
uint8_t weeklyConfigFailures: 2
 
uint8_t altWeeklyConfigFailures: 2
 
uint8_t sentWeeklyConfigType: 2
 
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 ()
 
- Protected Types inherited from Supla::Sensor::BinaryBase
enum class  LocalActionState : uint8_t { LoadingConfig , Initializing , StartupSync , Runtime }
 
- Protected Member Functions inherited from Supla::Sensor::BinaryBase
void beginInitialChannelValueRead ()
 
void setInitialChannelValue (bool value)
 
void notifyInputStateChangeCandidate ()
 
void setChannelValueQuietly (bool value)
 
void saveConfig ()
 
void printConfig ()
 
void printConfig (const TChannelConfig_BinarySensor *serverConfig)
 
- Protected Member Functions inherited from Supla::ElementWithChannelActions
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
 
ChannelConfigState getChannelConfigState () const
 
void setChannelConfigState (ChannelConfigState state)
 
uint8_t finishChannelConfig (TSD_ChannelConfig *result, Supla::ApplyConfigResult applyResult, bool local)
 
- Static Protected Attributes inherited from Supla::Element
static Element * firstPtr = nullptr
 
static bool invalidatePtr = false
 

Member Function Documentation

◆ getValue()

bool Supla::Sensor::Binary::getValue ( )
overridevirtual

◆ onInit()

void Supla::Sensor::Binary::onInit ( )
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.


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