-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtemplate.config.yaml
79 lines (73 loc) · 5.6 KB
/
template.config.yaml
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
# This template file should be left untouched
# The app will in order:
# 1. Read this file (template.config.yaml)
# 2. Overwrite the settings with those in file config.yaml (it it exists).
# Note: the HUBIBOT_CONFIG_FILE environment variable can be set to specify where the file is located
# 3. Overwrite the settings with environment variables called "HUBIBOT_<SECTION>_<KEY>" (with section and key uppercase), if these exist.
# For example, set the env var HUBIBOT_MAIN_LOGVERBOSITY to DEBUG to overwrite the log verbosity
# 4. Overwrite the settings with command line parameters of the form "HUBIBOT_<SECTION>_<KEY>=<value>" (with section and key uppercase), if these exist.
telegram:
token: 'enter your telegram token here' # Search for Botfather in your favorite search engine for instructions
rejected_message: "Unauthorized user :p" # Message to return to users not in any group when talking to the bot. Empty string for silently ignoring them instead
enabled_user_groups: [ ] # List of enabled user groups. If empty, none are enabled.
user_groups: # See README.md for explanation on user groups
# There can be any number of user groups and their names (e.g. admins, family, guests) are free-form
# Only the names listed in the "enabled_user_groups" setting above will be enabled
# the template defines admin (but not enabled), and have 2 others examples (family, and guests) commented out
admins:
ids: [ ] # See "Getting Telegram user Ids" in README.md for how to get these
access_level: ADMIN # Possible values: ADMIN, SECURITY, DEVICE, NONE. See README.md for details
device_groups: [ "all" ] # Device groups are defined in hubitat:device_groups below
# family:
# ids: [ ]
# access_level: SECURITY
# device_groups: [ "regular" ]
# guests:
# ids: [ ]
# access_level: DEVICE
# device_groups: [ "limited" ]
hubitat:
url: 'http://ipaddress/' # What you type in the browser to log on to Hubitat
appid: 0 # Log in to Hubitat, go in Apps, Maker API. The Id in is in the url
token: 'enter your hubitat token here' # Log in to Hubitat, go in Apps, Maker API, The token is in the examples
case_insensitive: true # If true, "/on office" turns on device "Office". Switch to false if some devices only differ by case
device_name_separator: ',' # Separator used for specifying multiple devices, e.g., "/on device1,device2" for "/on device1" and "/on device2"
# List of available values for the "/arm" command
hsm_arm_values: ['armAway', 'armHome', 'armNight', 'disarm', 'disarmAll', 'armAll', 'cancelAlerts']
# Aliases allow for replacing the named target of a command when the name does not exist but its replacement does.
# For example, if there is no device called "office" but there's one called "office light", an alias for
# device replacing "office" with "office light" will allow for the "/on office" command to succeed.
# Aliases are entered as a list of pairs (matching regex, replacement) where
# \\n with n a number in the replacement string corresponds to the n'th captured string captured by the regex.
# Note: all aliases are case insensitive
aliases:
# Applies to all device commands, such as /on, /off, /open, /close, /dim, /status, ...
# Eith this example, "/on office" => "/on office light" and "/off hw" => "/off hot water"
device: [ [ "^(.*)$", "\\1 Light" ], [ "^(.*) Closet$", "\\1 Walking Closet Light" ], [ "^hw$", "Hot Water" ], ["keybox", "key box"] ]
# Applies to the /mode command. With this example, "/mode guest" => "/mode guests"
mode: [ [ "Guest", "Guests" ] ]
# Applies to the /arm command. With this example, "/arm home" => "/arm armHome"
hsm: [ [ "^(.*)$", "arm\\1"]]
# Optional descriptions for devices; description is returned by the /list & /info commands
device_descriptions:
12345: "description for device id 12345"
enabled_device_groups: [ ] # List of enabled device groups. If empty, none are enabled.
device_groups: # See README.md for explanation on device groups
# Names are free-form and referenced by the telegram:user_groups:<something>:device_groups above
# Only the names listed in the "enabled_user_groups" setting above will be enabled
# The template defines admin (but not enabled), and have 2 others examples (regular, and limited) commented out
all: # Names are free-form and referenced by the telegram:user_groups:<something>:device_groups above
allowed_device_ids: [ ] # List of Hubitat device ids to allow. If empty, all are allowed unless explicitly rejected
rejected_device_ids: [ ] # List of Hubitat device ids to reject
# regular: # In this example, the 'regular' device group includes all devices exposed by Hubitat's MakerAPI but the device with Id 789
# allowed_device_ids: [ ]
# rejected_device_ids: [ 789 ]
# limited: # In this example, the 'limited' device group only includes devices exposed by Hubitat with Id 123 or 456
# allowed_device_ids: [ 123, 456 ]
# rejected_device_ids: [ ]
main:
logverbosity: WARNING # Possible values: DEBUG, INFO, WARNING, ERROR, CRITICAL
# Default timezone for commands returning datetimes (e.g., the /events command), for example "America/Los_Angeles"
# Users can deviate from default value with the /timezone command
# The list of possible values is here: https://github.com/newvem/pytz/blob/master/pytz/__init__.py#L327
default_timezone: "UTC"