forked from douglasdecouto/py-concord
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
78 lines (64 loc) · 3.93 KB
/
TODO
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
MUST DO
-------
- panel variables are persisted by indigo; need to pick up those
changes and push to python member variables in plugin object.
- variables to hold most recent zone monitor data in case of trigger
WIBNI
-----
- how to send '*' keypress and other
- variable for LCD line 1 and LCD line 2 for showing on control page
- Add actions to arm -- detect if quick-arm is set and don't ask for pwasword if it is.
- detect unknown messages and send to email or create event
- Action to adjust keypad volume
- Action to adjust speaker volume
- Temp & timeAndDate
- keyfob command: just process for logging
- user lights, what is going on here? process for logging
- process superbus device commands, if only for logging them
- output data commands, for logging
- user code commands, see what's in there...
- Detect '*' in LCD output; expose to Indigo (but would this only tell us something we could find out from another query -- e.g. if it's * but that's only because windows are open, then who cares; how to detect other issues on top of that?) AD2USB had bug with sending '*', perhaps we have same big although different devices?
- Email reporting of what's open, closed; pick zones that can be open at night. -- Just use indigo device groups?
- Keep alive
- TCP proxy that speaks 'Concord' (AD2USB ser2sock?)
- Track time of last alarm event
- comm loop: be greedy about reading data before sending any; think panel doesn't want to deal with incoming messages while it is waiting for acks on outgoing
- create new event - 'PROXY TROUBLE' that the proxy can send to the plugin!
- fix panel info handling (get serial / rev numbers right)
- flush input & output on opening
- plugin doesn't shutdown properly, indigo has to kill the thread?
- properly handle comm error, e.g. serial port device goes away and tx/rx fails" put panel and devices in correct error state
- thread safety for message handlers poking around in zone/partition data structures
- when restarting plugin, close serial port if already open ????
- Should partition have explicit alarm state?
- need to stop message handler when panel object goes away -- i.e. crashes when you deleted Panel device
DONE
----
X - split out the two lines for LCD display
X - Create way to send synthetic events (e.g. alarms) into plugin for testing
X - **Handle alarm events. This includes cancels & restorals**
X - Can a zone/partition device change its config while active? (i.e. after startComm but before stopComm)? Answer: no, we can rely on start/StopComm
X - Debug mode handling / log levels
X - Fix zone text handling: spaces, backspace, sentence case
X - Handle arming level and map to partitions.
X - Handle multiple partitions
X - Not sure about how to parameterize a new zone dev when we have no panel info; seems to come up with 'zeros' as zone/part id; what about if we edit a configuration for an existing zone dev?
X - XXX use props or state to hold zone config info? If props, how to get zone/part visible to user. Answer: 'address' field. OK. So revamp how startComm/stopComm work...
X - different sets of partition states between partition info cmd and arming cmd; try to handle in a useful manner
X - fixup zone states: unknown, tripped, OK, problem
X - Make zones a subset of onOff device or sensors? Will that make them work better in indigo touch? -- fixed by using state names that indigo app interprets for state symbols
X - better logging of keypad messages (moved the logging here to only happen in 'debug verbose' mode)
- detect if it's just time and date
- detect if has star
- what to do about missing partition stuff?
X - Handle 'clear dynamic image' & automation event lost commands. What to with existing indigo devices? Set all states to 'unknown'?
X - internal event/error log for easy replay/monitoring
Bigger:
- Handle Advent alarms?
- integrate with Honey?
- generic alarm plugin?
Other alarm panels with plugins:
- Cynical Honey
- Caddx
- AD2USB -- also for Honeywell, like Cynical
- DSC