Purpose
Provide event notification services for a security system. This schema is modelled on the capabilities of Comfort
Targeted Schema
The following commands may be explicitly directed at a security system.
class=comfort.command
SecurityMode { state= home|away|vacation|night }
Auth { pin=xxxx action=login|logout }
Reporting { action=on|off }
SendIR { zone=xx code=xx }
SendX10 { device=A1... value=... | action=on|off }
SetOutput { zone=xx value=xx }
DoResponse { response=xxxxxx }
DoAction { action=xxxxxxx }
Security System Notification Schema
The security system may generate the following notifications. The notification message comprises two sections, one containing the raw serial data received from Comfort (with control characters stripped) and the second section containing a high-level interpretation of the event. Applications should work with the high-level event; inclusion of the raw data is intended primarily to aid debugging.
A complete message might look this:
xap-header { v=12 hop=1 uid=FF000600 class=comfort.status source=Rocket.Comfort.Home } comfort.raw { command=XT param=A0405 } comfort.x10.transmit { desc=X10 Transmit report: device A04 on house=A unit=04 function=05 }
The following high level notifications are supported:
comfort.alarm { desc=<...> type=<...> status= <...>
comfort.report { desc=<...> type=<...> zone=<...> time=<...>
comfort.alarm.restore { desc=<...> }
comfort.event.doorbell { desc=<...> id=<...> }
comfort.event.phone.dialup { desc=<...> }
comfort.eventlog { desc=<...> }
comfort.status.input { desc=<...> zone=<...> status=<...>}
comfort.ir.transmit { desc=<...> zone=<...> code=<...> time=<...> }
comfort.ir.receive { desc=<...> code=<...> }
comfort.auth.login { desc=<...> user=<...> time=<...> }
comfort.ack.error { desc=<...> type=NA }
comfort.ack.ok { desc=<...> }
comfort.event.output { desc=<...> zone=<...> status=<...> }
comfort.event.virtual { desc=<...> type=<...> }
comfort.event.mode { desc=<...> mode=<...> user=<...> time=<...> }
comfort.event.pulse { desc=<...> }
comfort.action.return { desc=<...> value<...> }
comfort.event.phone.ring { desc=<...> time=<...> }
comfort.alarm.trouble.alarm { desc=<...> }
comfort.alarm.trouble.restore { desc=<...> }
comfort.x10.receive { desc=<...> house=<...> unit=<...> function=<...> }
comfort.x10.transmit { desc=<...> house=<...> unit=<...> function=<...> }
comfort.auth.login { desc=<...> }
comfort.error.checksum { desc=<...> }
comfort.error.unknown { desc=<...> command=<...> param=<...> }
|