supla-device
Loading...
Searching...
No Matches
actions.h
1// SPDX-FileCopyrightText: AC SOFTWARE SP. Z O.O.
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#ifndef SRC_SUPLA_ACTIONS_H_
5#define SRC_SUPLA_ACTIONS_H_
6
7#include <stdint.h>
8
9// Actions are used in ActionHandler elements. They are grouped by most common
10// usage, but you should not rely on it. Please check exact supported actions
11// in ActionHandler's element documentation
12
13namespace Supla {
14enum Action {
15 // Relays
16 TURN_ON,
17 TURN_ON_WITHOUT_TIMER, // used with staircase timer function, when
18 // timer should not be used this time
19 TURN_OFF,
20 TOGGLE,
21 TOGGLE_WITH_POSTPONED_COMM,
22
23 // Settable binary sensors
24 SET,
25 CLEAR,
26
27 // Roller shutters
28 OPEN,
29 CLOSE,
30 STOP,
31 OPEN_OR_STOP,
32 CLOSE_OR_STOP,
33 COMFORT_UP_POSITION,
34 COMFORT_DOWN_POSITION,
35 STEP_BY_STEP,
36 MOVE_UP,
37 MOVE_DOWN,
38 MOVE_UP_OR_STOP,
39 MOVE_DOWN_OR_STOP,
40 // "Internal button" actions are inverted when "invert button" config is set
41 INTERNAL_BUTTON_MOVE_UP_OR_STOP,
42 INTERNAL_BUTTON_MOVE_DOWN_OR_STOP,
43 INTERNAL_BUTTON_MOVE_UP,
44 INTERNAL_BUTTON_MOVE_DOWN,
45 INTERNAL_BUTTON_COMFORT_UP,
46 INTERNAL_BUTTON_COMFORT_DOWN,
47
48 // Dimmable light, RGB(W) LEDs
49 BRIGHTEN_ALL,
50 DIM_ALL,
51 BRIGHTEN_R,
52 BRIGHTEN_G,
53 BRIGHTEN_B,
54 BRIGHTEN_W,
55 BRIGHTEN_RGB,
56 DIM_R,
57 DIM_G,
58 DIM_B,
59 DIM_W,
60 DIM_RGB,
61 TURN_ON_RGB,
62 TURN_OFF_RGB,
63 TOGGLE_RGB,
64 TURN_ON_W,
65 TURN_OFF_W,
66 TOGGLE_W,
67 TURN_ON_RGB_DIMMED,
68 TURN_ON_W_DIMMED,
69 TURN_ON_ALL_DIMMED,
70 ITERATE_DIM_RGB,
71 ITERATE_DIM_W,
72 ITERATE_DIM_ALL,
73
74 // Impulse counter
75 RESET,
76 INCREMENT,
77 DECREMENT,
78 ENABLE,
79 DISABLE,
80
81 // Action trigger
82 SEND_AT_TURN_ON,
83 SEND_AT_TURN_OFF,
84 SEND_AT_TOGGLE_x1,
85 SEND_AT_TOGGLE_x2,
86 SEND_AT_TOGGLE_x3,
87 SEND_AT_TOGGLE_x4,
88 SEND_AT_TOGGLE_x5,
89 SEND_AT_HOLD,
90 SEND_AT_SHORT_PRESS_x1,
91 SEND_AT_SHORT_PRESS_x2,
92 SEND_AT_SHORT_PRESS_x3,
93 SEND_AT_SHORT_PRESS_x4,
94 SEND_AT_SHORT_PRESS_x5,
95
96 // SuplaDevice
97 ENTER_CONFIG_MODE,
98 TOGGLE_CONFIG_MODE,
99 RESET_TO_FACTORY_SETTINGS,
100 SOFT_RESTART,
101 START_LOCAL_WEB_SERVER,
102 STOP_LOCAL_WEB_SERVER,
103 CHECK_SW_UPDATE,
104 LEAVE_CONFIG_MODE_AND_RESET,
105 ENTER_CONFIG_MODE_OR_RESET_TO_FACTORY,
106
107 // Weight sensor
108 TARE_SCALES,
109
110 VOLUME_UP,
111 VOLUME_DOWN,
112 MUTE_SOUND_ALARM,
113 ENABLE_EXTERNAL_SOUND_ALARM,
114 DISABLE_EXTERNAL_SOUND_ALARM,
115
116 // Thermostat
117 INCREASE_TEMPERATURE,
118 DECREASE_TEMPERATURE,
119 INCREASE_HEATING_TEMPERATURE,
120 DECREASE_HEATING_TEMPERATURE,
121 INCREASE_COOLING_TEMPERATURE,
122 DECREASE_COOLING_TEMPERATURE,
123 SWITCH_TO_MANUAL_MODE,
124 SWITCH_TO_WEEKLY_SCHEDULE_MODE,
125 SWITCH_TO_MANUAL_MODE_HEAT,
126 SWITCH_TO_MANUAL_MODE_COOL,
127 SWITCH_TO_MANUAL_MODE_HEAT_COOL,
128 TOGGLE_MANUAL_WEEKLY_SCHEDULE_MODES,
129 TOGGLE_OFF_MANUAL_WEEKLY_SCHEDULE_MODES,
130
131 // Other
132 SEQUENCE_1_START,
133 SEQUENCE_1_STOP,
134 SEQUENCE_2_START,
135 SEQUENCE_2_STOP,
136 SEQUENCE_3_START,
137 SEQUENCE_3_STOP,
138
139 // Keep it as last item
140 ACTION_ID_MAX
141};
142} // namespace Supla
143
144// Internally, action ids are stored as uint16_t
145static_assert(Supla::ACTION_ID_MAX <= UINT16_MAX);
146
147#endif // SRC_SUPLA_ACTIONS_H_