-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathopensesame.spec
219 lines (175 loc) · 5.61 KB
/
opensesame.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
# configuration specification for opensesame
#
# It is recommended to mount this file for development (then you get defaults+validation)
# simply run:
#
# kdb mount `pwd`/opensesame.spec spec:/sw/libelektra/opensesame/#0/current ni
# kdb spec-mount /sw/libelektra/opensesame/#0/current
#
# The second command needs to be re-executed when you change something in the spec.
#
# -_-
# /
[]
mountpoint = opensesame.toml
infos/plugins = toml shell execute/set=reload-opensesame
[debug/backtrace]
description = tells to yield a backtrace on panic
example = full
default = 1
type = enum
check/enum = #_3
check/enum/#0 = 0
check/enum/#1 = 1
check/enum/#2 = full
[debug/ping/enable]
description = if periodic pings (keep-alive messages) should happen
type = boolean
default = 1
[debug/ping/timeout]
description = number of hours until ping again
type = unsigned_long
default = 24
[nextcloud/url]
description = URL to be used for sending messages.
required =
[nextcloud/user]
description = Username for login to Nextcloud.
required =
[nextcloud/pass]
description = Passwort for login to Nextcloud.
required =
[nextcloud/chat]
description = which chat to use for sending messages.
required =
check/length/max = 8
[nextcloud/chat/licht]
description = which chat to use for sending licht messages.
required =
check/length/max = 8
[nextcloud/chat/ping]
description = which chat to use for sending ping messages. Note: this chat will be used even if debug/ping/enable=0.
required =
check/length/max = 8
[nextcloud/chat/commands]
description = which chat is used to send commands to Opensesame.
required =
check/length/max = 8
[nextcloud/format/time]
description=Format to be used for formatting time within Nextcloud messages, e.g. when entry gets prohibited because of time. By default ISO 8601 (Hour-minute-second format). Example is locales time.
see/#0 = nextcloud/format/date
see/#1 = https://docs.rs/chrono/latest/chrono/format/strftime/index.html#specifiers
default = %T
example = %X
[nextcloud/format/datetime]
description=Format to be used for formatting dates within Nextcloud messages, e.g. in startup and ping. By default ISO 8601. Example is localized date and time.
see/#0 = nextcloud/format/time
see/#1 = https://docs.rs/chrono/latest/chrono/format/strftime/index.html#specifiers
default = %+
example = %c
[garage/enable]
description = enable garage HW (Endposition, further GPIO buttons)
type = boolean
default = 0
[pwr/enable]
description = enable PWR switch
type = boolean
default = 0
[bell/enable]
description = if hardware bell is connected
type = boolean
default = 0
[audio/bell]
description=audio file to play when bell is pressed. /dev/null means to not play anything.
default=/dev/null
check/path=
check/path/mode = r
[audio/alarm]
description=audio file to play on alarm. /dev/null means to not play anything.
default=/dev/null
check/path=
check/path/mode = r
[location/latitude]
description=Latitude for sunrise/sunset calculation. Default: Vienna
default=48.210033
type=double
[location/longitude]
description=Longitude for sunrise/sunset calculation. Default: Vienna
default=16.363449
type=double
[light/timeout]
description = time in seconds until lights go off by themselves
type = unsigned_long
default = 60
[watchdog/enable]
description=enables/disables watchdog
type = boolean
example = 1
default = 0
[watchdog/interval]
description=Trigger interval in seconds for Watchdog
default = 10
[watchdog/path]
description=Device path of Watchdog
default = "/dev/watchdog"
[environment/device]
description=Which device to use for the environment sensor. /dev/null means that no environment sensor is connected.
example = "/dev/i2c"
default = "/dev/null"
[environment/data/interval]
description=How often to get new data (default: every 60 seconds, which is the highest interval)
default = 60
type = unsigned_short
[sensors/enable]
description = If the sensors module is enabled
type = boolean
default = 0
[sensors]
description = a list of up to 12 MQ135 sensors
[sensors/#/loc]
description = Location of the sensor, used as the sensor name in messages. Must be set for every sensor. Only if `sensors/#0/loc` exists, sensors will be used at all.
type = string
[sensors/#/quality]
description = information about how qualitative the information from this sensor is, e.g., if the sensor was calibrated or tested properly
type = string
[sensors/#/pin]
description = Description of the pins used for the sensor
type = string
[sensors/#/chat]
description = Trigger value for chat?
type = unsigned_short
[sensors/#/alarm]
description = threshold value for the alarm
type = unsigned_short
[sensors/#/min]
description = minimum value measured during calibration
type = unsigned_short
[sensors/#/avg]
description = average value measured during calibration
type = unsigned_short
[sensors/#/max]
description = maximum value measured during calibration
type = unsigned_short
[sensors/device]
description = path of the sensor device
default = "/dev/ttyACM0"
[weatherstation/enable]
description = enables/disables weatherstation
type = boolean
default = 0
[weatherstation/opensensemap/id]
description = Which Opensensemap senseBoxes should be connected to the weather station, see doc/Opensensemap.md
[weatherstation/opensensemap/token]
description = Access-Token for Opensensemap senseBoxes, see doc/Opensensemap.md
[ir/enable]
description=enables/disables MOD-IR-TEMP sensor
example=1
default=0
[ir/device]
description=Which device to use for the MOD-IR-TEMP sensor. /dev/null means that no MOD-IR-TEMP sensor is connected.
example = "/dev/i2c-2"
default = "/dev/null"
[ir/data/interval]
description=How often to get new data, depends on how often handle() is called
default=60
type = unsigned_short