4#ifndef SRC_SUPLA_CONTROL_ACTION_TRIGGER_H_
5#define SRC_SUPLA_CONTROL_ACTION_TRIGGER_H_
9#include <supla/action_handler.h>
10#include <supla/actions.h>
11#include <supla/at_channel.h>
12#include <supla/element.h>
20enum ActionHandlingType : uint8_t {
21 ActionHandlingType_RelayOnSuplaServer = 0,
22 ActionHandlingType_PublishAllDisableNone = 1,
23 ActionHandlingType_PublishAllDisableAll = 2
44 void setRelatedChannel(
Element *);
45 void setRelatedChannel(
Channel *);
46 void setRelatedChannel(
Element &);
47 void setRelatedChannel(
Channel &);
49 void handleAction(
int event,
int action)
override;
50 void activateAction(
int action)
override;
56 bool local =
false)
override;
61 void rebuildForAttachedButton();
62 void disableATCapability(uint32_t capToDisable);
63 void enableStateStorage();
65 static int actionTriggerCapToButtonEvent(uint32_t actionCap);
66 static int actionTriggerCapToActionId(uint32_t actionCap);
67 static int getActionTriggerCap(
int action);
69 bool isAnyActionEnabledOnServer()
const;
71 void setAlwaysUseOnClick1();
77 void addActionToButtonAndDisableIt(
int event,
int action);
78 void parseActiveActionsFromServer();
84 uint16_t localHandlerAction = 0;
85 uint32_t activeActionsFromServer = 0;
86 uint32_t disablesLocalOperation = 0;
87 uint32_t disabledCapabilities = 0;
91 ActionHandlingType actionHandlingType = ActionHandlingType_RelayOnSuplaServer;
92 bool storageEnabled =
false;
93 bool alwaysUseOnClick1 =
false;
95 bool localHandlerSwitchConfigured =
false;
Definition SuplaDevice.h:167
Definition local_action.h:14
Definition action_handler.h:8
Definition at_channel.h:12
Definition action_trigger.h:30
void onSaveState() override
Method called periodically during SuplaDevice iteration.
Definition action_trigger.cpp:575
uint8_t handleChannelConfig(TSD_ChannelConfig *result, bool local=false) override
Handles "set channel config" request from server.
Definition action_trigger.cpp:301
void onRegistered(Supla::Protocol::SuplaSrpc *suplaSrpc=nullptr) override
Method called each time when device successfully registers to Supla server.
Definition action_trigger.cpp:184
void onInit() override
Third method called on element in SuplaDevice.begin()
Definition action_trigger.cpp:343
void onLoadState() override
Second method called on element in SuplaDevice.begin().
Definition action_trigger.cpp:621
void onLoadConfig(SuplaDeviceClass *) override
First method called on element in SuplaDevice.begin().
Definition action_trigger.cpp:582
Base class for all elements of SuplaDevice.
Definition element.h:27
Definition supla_srpc.h:47