19#ifndef SRC_SUPLA_CONTROL_ACTION_TRIGGER_H_
20#define SRC_SUPLA_CONTROL_ACTION_TRIGGER_H_
24#include <supla/action_handler.h>
25#include <supla/actions.h>
26#include <supla/at_channel.h>
27#include <supla/element.h>
35enum ActionHandlingType : uint8_t {
36 ActionHandlingType_RelayOnSuplaServer = 0,
37 ActionHandlingType_PublishAllDisableNone = 1,
38 ActionHandlingType_PublishAllDisableAll = 2
48 virtual ~ActionTrigger();
59 void setRelatedChannel(Element *);
60 void setRelatedChannel(
Channel *);
61 void setRelatedChannel(Element &);
62 void setRelatedChannel(
Channel &);
64 void handleAction(
int event,
int action)
override;
65 void activateAction(
int action)
override;
71 bool local =
false)
override;
76 void disableATCapability(uint32_t capToDisable);
77 void enableStateStorage();
79 static int actionTriggerCapToButtonEvent(uint32_t actionCap);
80 static int actionTriggerCapToActionId(uint32_t actionCap);
81 static int getActionTriggerCap(
int action);
83 bool isAnyActionEnabledOnServer()
const;
86 void addActionToButtonAndDisableIt(
int event,
int action);
87 void parseActiveActionsFromServer();
92 uint32_t activeActionsFromServer = 0;
93 uint32_t disablesLocalOperation = 0;
94 uint32_t disabledCapabilities = 0;
98 ActionHandlingType actionHandlingType = ActionHandlingType_RelayOnSuplaServer;
99 bool storageEnabled =
false;
Definition SuplaDevice.h:93
Definition local_action.h:28
Definition action_handler.h:21
Definition at_channel.h:24
void onSaveState() override
Method called periodically during SuplaDevice iteration.
Definition action_trigger.cpp:536
uint8_t handleChannelConfig(TSD_ChannelConfig *result, bool local=false) override
Handles "set channel config" request from server.
Definition action_trigger.cpp:297
void onRegistered(Supla::Protocol::SuplaSrpc *suplaSrpc=nullptr) override
Method called each time when device successfully registers to Supla server.
Definition action_trigger.cpp:194
void onInit() override
Third method called on element in SuplaDevice.begin()
Definition action_trigger.cpp:338
void onLoadState() override
Second method called on element in SuplaDevice.begin().
Definition action_trigger.cpp:582
void onLoadConfig(SuplaDeviceClass *) override
First method called on element in SuplaDevice.begin().
Definition action_trigger.cpp:543
Definition supla_srpc.h:55