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;
85 void setAlwaysUseOnClick1();
88 void addActionToButtonAndDisableIt(
int event,
int action);
89 void parseActiveActionsFromServer();
94 uint32_t activeActionsFromServer = 0;
95 uint32_t disablesLocalOperation = 0;
96 uint32_t disabledCapabilities = 0;
100 ActionHandlingType actionHandlingType = ActionHandlingType_RelayOnSuplaServer;
101 bool storageEnabled =
false;
102 bool alwaysUseOnClick1 =
false;
Definition SuplaDevice.h:96
Definition local_action.h:27
Definition action_handler.h:21
Definition at_channel.h:25
void onSaveState() override
Method called periodically during SuplaDevice iteration.
Definition action_trigger.cpp:541
uint8_t handleChannelConfig(TSD_ChannelConfig *result, bool local=false) override
Handles "set channel config" request from server.
Definition action_trigger.cpp:300
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:341
void onLoadState() override
Second method called on element in SuplaDevice.begin().
Definition action_trigger.cpp:587
void onLoadConfig(SuplaDeviceClass *) override
First method called on element in SuplaDevice.begin().
Definition action_trigger.cpp:548
Definition supla_srpc.h:55