-
Notifications
You must be signed in to change notification settings - Fork 94
/
pai.conf.example
241 lines (236 loc) · 11.2 KB
/
pai.conf.example
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
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# Should be at /etc/pai/pai.conf
import logging
# Default configuration.
# Edit as needed
### Logging
# LOGGING_LEVEL_CONSOLE = logging.INFO # See documentation of Logging package
# LOGGING_LEVEL_FILE = logging.ERROR
# LOGGING_FILE = None # or set to file path LOGGING_FILE='/var/log/paradox.log'
# LOGGING_FILE_MAX_SIZE = 10 # Max log file size in MB
# LOGGING_FILE_MAX_FILES = 2 # Max old log files to keep
# LOGGING_DUMP_PACKETS = False # Dump RAW Packets to log
# LOGGING_DUMP_MESSAGES = False # Dump Messages to log
# LOGGING_DUMP_STATUS = False # Dump Status to log
# LOGGING_DUMP_EVENTS = False # Dump Event details to log
#
### Development
# DEVELOPMENT_DUMP_MEMORY = False
#
### Connection Type
# CONNECTION_TYPE = 'Serial' # Serial or IP
#
### Serial Connection Details
# SERIAL_PORT = '/dev/ttyS1' # Pathname of the Serial Port
# SERIAL_BAUD = 9600 # 9600 for SP/MG. For EVO: Use 38400(default setting) or 57600
#
### IP Connection Details
# IP_CONNECTION_HOST = '127.0.0.1' # IP Module address when using direct IP Connection
# IP_CONNECTION_PORT = 10000 # IP Module port when using direct IP Connection
# IP_CONNECTION_PASSWORD = 'paradox' # IP Module password. "paradox" is default.
# IP_CONNECTION_SITEID = None # SITE ID. IF defined, connection will be made through this method.
# IP_CONNECTION_EMAIL = None # Email registered in the site
# IP_CONNECTION_PANEL_SERIAL = None # Use a specific panel. Set it to None to use the first
# IP_CONNECTION_BARE = False # No not expect an IP150 module. Used this for base Serial over TCP tunnels
#
### Paradox
# KEEP_ALIVE_INTERVAL = 10 # Interval between status updates
#
# LIMITS = { # By default all zones will be monitored
# # 'zone': range(1, 17), # Zones to monitor and control
# # 'user': [1, 2, 3, 4], # Users to consider
# # 'door': range(1, 32), # Doors to consider
# # 'pgm': range(1, 17), # PGMs to monitor and control
# # 'partition': [1, 2], # Partitions to monitor and control
# # 'bus-module': range(1, 17), # Buses to monitor
# # 'repeater': range(1, 9), # Repeaters to monitor
# # 'keypad': range(1, 9) # Keypads to monitor
# }
#
# LABEL_ENCODING = 'paradox-en' # Encoding to use when decoding labels. paradox-* or https://docs.python.org/3/library/codecs.html#standard-encodings
# LABEL_REFRESH_INTERVAL = 15 * 60 # Interval between refresh of labels
# OUTPUT_PULSE_DURATION = 1 # Duration of a PGM pulse in seconds
# SYNC_TIME = False # Update panel time periodically when time drifts more than SYNC_TIME_MIN_DRIFT
# SYNC_TIME_MIN_DRIFT = 60 # Minimum time drift in seconds to initiate time sync
# PASSWORD = '0000' # PC Password. Set to None if Panel has no Password.
# # In Babyware: Right click on your panel -> Properties -> PC Communication (Babyware) ->
# # PC Communication (Babyware) Tab.
#
# POWER_UPDATE_INTERVAL = 60 # Interval between updates of the battery, DC and VDC voltages
# PUSH_POWER_UPDATE_WITHOUT_CHANGE = True # Always notify interfaces of power changes
# PUSH_UPDATE_WITHOUT_CHANGE = False # Always notify interfaces of all changes
#
### MQTT
# MQTT_ENABLE = False # Enable MQTT Interface
# MQTT_HOST = '127.0.0.1' # Hostname or address
# MQTT_PORT = 1883 # TCP Port (TLS port if MQTT_TLS_CERT_PATH is set)
# MQTT_TRANSPORT = "tcp" # Transport to use ("tcp" or "websockets")
# MQTT_PROTOCOL = "3.1.1" # Protocol to use ("3.1", "3.1.1" or "5")
# MQTT_QOS = 0 # Publish messages with QOS level (0 - fire and forget, 1 - at least once, 2 - exactly once)
# MQTT_TLS_CERT_PATH = None # Path to ca cert (/etc/pai/certs/ca.pem), if you want TLS
# MQTT_KEEPALIVE = 60 # Keep alive
# MQTT_USERNAME = None # MQTT Username for authentication
# MQTT_PASSWORD = None # MQTT Password
# MQTT_RETAIN = True # Publish messages with Retain
# MQTT_BIND_ADDRESS = '' # MQTT Client bind address. Default: "" - pick automatically
# MQTT_BIND_PORT = 0 # MQTT Client bind port. Default: 0 - pick automatically
# MQTT_REPUBLISH_INTERVAL = 60 * 60 * 12 # Interval for republishing all data
# MQTT_PUBLISH_DEFINITIONS = False # Publish definitions of partitions/zones/users to MQTT. Not required in most cases.
#
### MQTT Topics
# MQTT_BASE_TOPIC = 'paradox' # Root of all topics
# MQTT_ZONE_TOPIC = 'zones' # Base for zone states
# MQTT_PARTITION_TOPIC = 'partitions' # Base for partition states
# MQTT_BUS_TOPIC = 'buses' # Base for buses states
# MQTT_MODULE_TOPIC = 'bus-module' # Base for bus module states
# MQTT_SYSTEM_TOPIC = 'system' # Base for panel states
# MQTT_REPEATER_TOPIC = 'repeaters' # Base for repeater states
# MQTT_USER_TOPIC = 'users' # Base for user states
# MQTT_EVENTS_TOPIC = 'events' # Base for events
# MQTT_CONTROL_TOPIC = 'control' # Base for control of other elements (ROOT/CONTROL/TYPE)
# MQTT_DEFINITIONS_TOPIC = 'control' # Base for definitions
# MQTT_HOMEASSISTANT_DISCOVERY_PREFIX = 'homeassistant'
# MQTT_OUTPUT_TOPIC = 'outputs'
# MQTT_DOOR_TOPIC = 'doors'
# MQTT_KEYPAD_TOPIC = 'keypads'
# MQTT_STATES_TOPIC = 'states'
# MQTT_RAW_TOPIC = 'raw'
#
# MQTT_NOTIFICATIONS_TOPIC = 'notifications'
# MQTT_SEND_PANIC_TOPIC = 'panic'
# MQTT_PUBLISH_RAW_EVENTS = True
# MQTT_INTERFACE_TOPIC = 'interface'
# MQTT_TOGGLE_CODES = {}
# MQTT_USE_NUMERIC_STATES = False # use 0 and 1 instead of True and False
#
# MQTT_PUBLISH_COMMAND_STATUS = False # Publish command statuses to MQTT
# MQTT_COMMAND_STATUS_TOPIC = "command_status"
#
### MQTT Home Assistant Auto Discovery
# MQTT_HOMEASSISTANT_AUTODISCOVERY_ENABLE = False
#
### Dash App
# MQTT_DASH_PUBLISH = False
# MQTT_DASH_TOPIC = 'metrics/exchange/pai'
# MQTT_DASH_TEMPLATE = '/etc/pai/mqtt_dash.txt'
#
### Interfaces text command alias
# COMMAND_ALIAS = { # alias for commands through text based interfaces
# 'arm': 'partition all arm',
# 'disarm': 'partition all disarm'
# }
#
# MQTT_COMMAND_ALIAS = {
# # For homebridge
# 'armed_home': 'arm_stay',
# 'armed_night': 'arm_sleep',
# 'armed_away': 'arm',
# 'disarmed': 'disarm'
# }
#
#
### Home Assistant Notifications (HASS.io required)
# HOMEASSISTANT_NOTIFICATIONS_ENABLE = False
# HOMEASSISTANT_NOTIFICATIONS_NOTIFIER_NAME = 'notify'
# HOMEASSISTANT_NOTIFICATIONS_MIN_EVENT_LEVEL = 'INFO'
## Event filtering by tags:
# HOMEASSISTANT_NOTIFICATIONS_EVENT_FILTERS = [ # list of tags to include or exclude see hardware event.py for tag list
# 'live,alarm,-restore', # or
# 'live,trouble,-clock', # or
# 'live,tamper'
# ]
## - OR - event filtering using regexp. Cannot be used together with _EVENT_FILTERS
# HOMEASSISTANT_NOTIFICATIONS_ALLOW_EVENTS = [r".*"] # List of tuples or regexp matching "type,label,property=value,property2=value" eg. [(major, minor), "zone:HOME:entry_delay=True", ...]
# HOMEASSISTANT_NOTIFICATIONS_IGNORE_EVENTS = [ # Same as previous but to ignore some specific events that matched in _ALLOW_EVENTS
# r"zone,[\w]+,no_delay=True",
# r"zone,[\w]+,exit_delay=.*"
# ]
#
### Pushbullet
# PUSHBULLET_ENABLE = False
# PUSHBULLET_KEY = '' # Authentication key used for Pushbullet
# PUSHBULLET_CONTACTS = [] # Pushbullet user identifiers for notifications and interaction
# PUSHBULLET_MIN_EVENT_LEVEL = 'INFO'
## Event filtering by tags:
# PUSHBULLET_EVENT_FILTERS = [ # list of tags to include or exclude see hardware event.py for tag list
# 'live,alarm,-restore', # or
# 'live,trouble,-clock', # or
# 'live,tamper'
# ]
## - OR - event filtering using regexp. Cannot be used together with _EVENT_FILTERS
# PUSHBULLET_ALLOW_EVENTS = [r".*"] # List of tuples or regexp matching "type,label,property=value,property2=value" eg. [(major, minor), "zone:HOME:entry_delay=True", ...]
# PUSHBULLET_IGNORE_EVENTS = [ # Same as previous but to ignore some specific events that matched in _ALLOW_EVENTS
# r"zone,[\w]+,no_delay=True",
# r"zone,[\w]+,exit_delay=.*"
# ]
#
#
### Pushover
# PUSHOVER_ENABLE = False
# PUSHOVER_KEY = '' # Application token for Pushover
# PUSHOVER_BROADCAST_KEYS = [{ # Pushover user or group keys to broadcast notifications to
# 'user_key': '<user_key>',
# 'devices': '*' # value can be '*' or comma separated list of device names
# }]
# PUSHOVER_MIN_EVENT_LEVEL = 'INFO'
## Event filtering by tags:
# PUSHOVER_EVENT_FILTERS = [ # list of tags to include or exclude see hardware event.py for tag list
# 'live,alarm,-restore', # or
# 'live,trouble,-clock', # or
# 'live,tamper'
# ]
## - OR - event filtering using regexp. Cannot be used together with _EVENT_FILTERS
# PUSHOVER_ALLOW_EVENTS = [r".*"] # List of tuples or regexp matching "type,label,property=value,property2=value" eg. [(major, minor), "zone:HOME:entry_delay=True", ...]
# PUSHOVER_IGNORE_EVENTS = [ # Same as previous but to ignore some specific events that matched in _ALLOW_EVENTS
# r"zone,[\w]+,no_delay=True",
# r"zone,[\w]+,exit_delay=.*"
# ]
#
#
### Signal
# SIGNAL_ENABLE = False
# SIGNAL_CONTACTS = [] # Contacts that are allowed to control the panel and receive notifications
# # through Signal
# SIGNAL_MIN_EVENT_LEVEL = 'INFO'
## Event filtering by tags:
# SIGNAL_EVENT_FILTERS = [ # list of tags to include or exclude see hardware event.py for tag list
# 'live,alarm,-restore', # or
# 'live,trouble,-clock', # or
# 'live,tamper'
# ]
## - OR - event filtering using regexp. Cannot be used together with _EVENT_FILTERS
# SIGNAL_ALLOW_EVENTS = [r".*"] # List of tuples or regexp matching "type,label,property=value,property2=value" eg. [(major, minor), "zone:HOME:entry_delay=True", ...]
# SIGNAL_IGNORE_EVENTS = [ # Same as previous but to ignore some specific events that matched in _ALLOW_EVENTS
# r"zone,[\w]+,no_delay=True",
# r"zone,[\w]+,exit_delay=.*"
# ]
#
#
### GSM
# GSM_ENABLE = False
# GSM_MODEM_BAUDRATE = 115200 # Baudrate of the GSM modem
# GSM_MODEM_PORT = '' # Pathname of the serial port
# GSM_CONTACTS = [] # Contacts that are allowed to control the panel and receive notifications
# # through SMS
# GSM_MIN_EVENT_LEVEL = 'CRITICAL'
## Event filtering by tags:
# GSM_EVENT_FILTERS = [ # list of tags to include or exclude see hardware event.py for tag list
# 'live,zone,alarm,trigger'
# ]
## - OR - event filtering using regexp. Cannot be used together with _EVENT_FILTERS
# GSM_ALLOW_EVENTS = [r".*"] # List of tuples or regexp matching "type,label,property=value,property2=value" eg. [(major, minor), "zone:HOME:entry_delay=True", ...]
# GSM_IGNORE_EVENTS = [ # Same as previous but to ignore some specific events that matched in _ALLOW_EVENTS
# r"zone,[\w]+,no_delay=True",
# r"zone,[\w]+,exit_delay=.*"
# ]
#
#
### IP Socket Interface
# IP_INTERFACE_ENABLE = False
# IP_INTERFACE_BIND_ADDRESS = '0.0.0.0'
# IP_INTERFACE_BIND_PORT = 10000
# IP_INTERFACE_PASSWORD = 'paradox'
#
### Dummy Interface for testing
# DUMMY_INTERFACE_ENABLE = False
# DUMMY_EVENT_FILTERS = []
# DUMMY_MIN_EVENT_LEVEL = 'DEBUG'