FirePoint¶
Overview¶
Addressable fire point function for panels that expose per-address status bitmaps: disabled, test, alarm, active input, active output, and trouble.
Use FirePoint for the address-level state machine. Add FireDetector on the same Thing when the address is a physical detector.
- Added in: PQ Framework 2.3
- Namespace:
Pq.Adapters.Framework
When to Use¶
- Addressable fire detector addresses
- Panel-defined system addresses that can be enabled/disabled/tested
- Fire inputs and outputs represented as address states
- Vendor protocols that report per-address state bitmaps
States¶
| State | Status id | Description |
|---|---|---|
Clear |
detection.clear (hidden) |
No active condition |
Alarm |
fire.alarm |
Fire alarm active |
AlarmGeneral |
fire.alarm.general |
General alarm active |
AlarmSection |
fire.alarm.section |
Section alarm active |
AlarmConditional |
fire.alarm.conditional |
Conditional alarm active |
Prealarm |
fire.prealarm |
Pre-alarm active |
InputActive |
fire.input.active |
Input address active |
OutputActive |
fire.output.active |
Output address active |
Disabled |
fire.disabled |
Address disabled |
Test |
fire.test |
Address in test |
TestActivation |
fire.test.activation |
Test activation active |
TestPassed |
fire.test.passed |
Address tested successfully, test not finished yet |
TestPartial |
fire.test.partial |
Group test partially completed across detectors |
Trouble |
fire.trouble |
Address trouble/fault |
Clear is the hidden default state: SetClear(ct) publishes no status string, so an inactive address reports the function as cleared.
Actions¶
| Action | Target State | Event |
|---|---|---|
FirePointGeneralAlarm(timestamp) |
AlarmGeneral |
pq.event.fire.alarm.general |
FirePointSectionAlarm(timestamp) |
AlarmSection |
pq.event.fire.alarm.section |
FirePointGeneralAlarmCleared(timestamp) |
Clear |
pq.event.fire.alarm.general.cleared |
FirePointSectionAlarmCleared(timestamp) |
Clear |
pq.event.fire.alarm.section.cleared |
FirePointConditionalAlarm(timestamp) |
AlarmConditional |
pq.event.fire.alarm.conditional |
FirePointPreAlarm(timestamp) |
Prealarm |
pq.event.fire.prealarm |
FirePointInputActivated(timestamp) |
InputActive |
pq.event.fire.input.activated |
FirePointInputDeactivated(timestamp) |
Clear |
pq.event.fire.input.deactivated |
FirePointOutputActivated(timestamp) |
OutputActive |
pq.event.fire.output.activated |
FirePointOutputDeactivated(timestamp) |
Clear |
pq.event.fire.output.deactivated |
FirePointDisabled(timestamp) |
Disabled |
pq.event.fire.address.disabled |
FirePointEnabled(timestamp) |
Clear |
pq.event.fire.address.enabled |
FirePointTestStarted(timestamp) |
Test |
pq.event.fire.test.started |
FirePointTestCompleted(timestamp) |
Clear |
pq.event.fire.test.completed |
FirePointTestActivation(timestamp) |
TestActivation |
pq.event.fire.test.activation |
FirePointTestPassed(timestamp) |
TestPassed |
pq.event.fire.test.passed |
FirePointTestPartial(timestamp) |
TestPartial |
pq.event.fire.test.partial |
FirePointSuppressionActivated(timestamp) |
OutputActive |
pq.event.fire.suppression.activated |
FirePointTrouble(timestamp) |
Trouble |
pq.event.fire.trouble |
FirePointTroubleCleared(timestamp) |
Clear |
pq.event.fire.trouble.cleared |
FirePointLost(timestamp) |
Trouble |
pq.event.fire.address.lost |
FirePointDuplicate(timestamp) |
Trouble |
pq.event.fire.address.duplicate |
FirePointOutOfConfiguration(timestamp) |
Trouble |
pq.event.fire.address.out_of_configuration |
FirePointAutoAddressing(timestamp) |
no state change | pq.event.fire.address.auto_addressing |
YAML Example¶
device_types:
- type_id: AddressableDetector
name: "Addressable Detector"
functions:
FirePoint:
FireDetector:
Tamper:
Notes¶
FirePointis status-oriented. Audit events from panel history should still be routed with device timestamps.- Use
StatusBatchfor full bitmap snapshots to avoid transient mixed states.
See Also¶
- Functions: FirePanel - Panel-level state
- Functions: FireDetector - Detector semantics