Skip to content

Original TODO

Joe Keenan edited this page Jun 20, 2018 · 1 revision

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

Clone this wiki locally