Skip to content

Latest commit

 

History

History
152 lines (131 loc) · 6.34 KB

File metadata and controls

152 lines (131 loc) · 6.34 KB

FireSeq TODO

Completed

Howe Decoder Improvements

  • b_combo prefix 2 detection: reset (if fire active) vs watchman
  • Added "reset" mode with proper state handling
  • Continuous fire station handling (immediate FIRE, CLEAR on bus stop)
  • Howe Follower effect - output mirrors incoming signal
  • Round-robin detection improvements
  • Per-station round tracking
  • Predictive state logic - trigger states early when unambiguous
    • V-stations: immediate state from prefix (5=FIRE, 6=CLEAR)
    • Watchman: immediate trigger (always 1 round)
    • General Alarm: immediate trigger (requires break glass + key turn)
    • Round 2+: predictive fire/presignal/waterflow (resets are always 1 round)
  • Interim summary - summarize stations that drop out mid-transmission
    • Detects when station misses full rotation while others continue
    • Applies full 5-round/1-round logic to interim summaries

Chime Sequencer

  • chime_seq effect for 4-bar xylophone chimes (E5, D5, C5, G4)
  • Pattern syntax: note names (E/D/C/G), * for all, space for rest, | for dividers
  • Non-repeating melodies with auto-off on completion
  • 14 doorbell melodies (Westminster, Turkey, Camptown, etc.)

Architecture

  • Split howe_panel.yaml from howe_decoder.yaml
    • howe_panel.yaml includes howe_decoder.yaml (panel users get both)
    • howe_decoder.yaml standalone for users without panel integration
    • Clean separation of concerns

Station Database

  • Station database implemented in howe_stations.yaml
  • ESPHome custom component (howe_stations) with YAML schema
  • Per-station continuous and tamper flags
  • Decoder integration with enriched logging

Data Model Reference

Station ID = digits AFTER prefix (e.g., "1-4-5" not "2-1-4-5") Prefix indicates MODE, not part of station identity.

Station Types & Prefix Mappings:

combo_5round      = 1:watchman, 2:fire (5-round). Usually BJ stations.
combo_continuous  = 1:fire (continuous), 2:watchman/reset. Usually B stations.
combo_presignal   = 1:watchman, 2:presignal, 3:GA. Usually BJ stations.
fire_5round       = 1/2:fire (5-round). Can be B or BJ stations.
fire_continuous   = 1:fire (continuous). Usually B stations.
fire_presignal    = 2:presignal, 3:GA. Can be B or BJ stations.
fire_v            = 5:alarm, 6:reset (single round). Usually B stations (V133, etc).
waterflow         = 3:waterflow (tamper=true by default). Usually B stations.

Round Count Logic (most modes):

  • 5 rounds = ALARM
  • 1 round = RESET
  • 6 rounds = ALARM + RESET (reset while running)

Exceptions:

  • Watchman: always 1 round (no alarm/reset distinction)
  • V-stations (fire_v): always 1 round, prefix determines alarm (5) vs reset (6)
  • Continuous stations (continuous=true): transmit continuously while active
    • Immediate FIRE state on first round
    • CLEAR state when bus stops (detected via interim summary)
    • No round counting - presence = alarm, absence = clear
    • Combo: prefix 2 becomes "reset" if fire was active, otherwise watchman
  • Tamper detection (tamper=true, default for waterflow): 7+ rounds = TAMPER
    • Mutually exclusive with continuous (can't be both)
    • TAMPER clears when station stops transmitting

Presignal Behavior:

  • Prefix 2 = presignal (early warning, limited response)
  • Prefix 3 = general alarm (full evacuation)
  • If both seen from same station, prefix 3 takes precedence

Open Items

Display & Integration

  • OLED display integration - show active stations with round progress
  • Howe display mode - scrollable list of recent incoming codes
    • Switch display into "Howe mode" during transmission
    • Show previous codes with their status
    • Scroll through history
  • Status indicator on display header
    • Shorten "FireSeq" or rework first line to fit status
    • Show system state: OK / TBL / ALM / WM / FIRE
    • Priority: FIRE > ALM > TBL > WM > OK
    • Maybe invert for alarm states?
  • Home Assistant integration - expose stations as sensors with attributes
    • Auto-discover stations as entities
    • Track round_count, prefix, last_seen, status
    • Enable automations on station events

Panel Output Integration (Simplex 2001)

  • Alarm pulse output - trigger panel on Howe alarm
    • PC817 optocoupler + 1N4148 diode for D-bus isolation
    • TESTED: 400ms pulse required for Simplex 2001 alarm activation
    • GPIO pulse when any station goes to FIRE/ALM/GENERAL_ALARM
  • Steady 24V outputs for alarm/presignal level switching
    • MIC2981 8-channel high-side driver installed
    • GPIO22 (alarm), GPIO21 (presignal) active
    • L298 H-bridge retained for SmartSync (polarity inversion, tight timing)
  • Panel switches trigger 400ms pulse on turn_on
    • Alarm and presignal switches auto-pulse when activated
    • Works from both Howe decoder AND manual HA toggle
  • Remote Ack output (GPIO4) - 400ms pulse
  • Remote Reset output (GPIO26) - 2s pulse
  • Trouble Reset output (GPIO2) - 750ms pulse after main reset
    • GPIO2 used (held LOW at boot, safe for MIC2981)
  • Oscillator-triggered Howe Follower workflow
    • Oscillator start → trigger pulse output + switch to "Howe Follower" effect
    • Code output follows incoming signal during transmission
    • Transmission complete → determine final result (presignal/alarm)
    • Switch code output back to previous effect (before Howe Follower)
    • Trigger presignal or alarm output based on result
  • Trouble output - TBD what counts as "trouble"
    • Watchman-only stations? Supervisory?

Reference

Prefix Reference

1 = Watchman (BJ) / Fire (B-types, continuous)
2 = Fire (BJ) / Presignal / Watchman (B) / Reset (B, if fire active)
3 = General Alarm / Waterflow
5 = Alarm (V-stations only, single round)
6 = Reset (V-stations only, single round)

Transmitter Types (Physical)

B  = Howe-in-a-can with terminal blocks
     - Usually continuous fire (no round wheel), but some are 5-round
     - combo_continuous, fire_continuous, fire_5round, fire_presignal, fire_v, waterflow
BX = Howe-in-a-can with molex (Federal Signal era)
BJ = Horizontal mount with banana plug pins
     - Usually 5-round capable (has round wheel)
     - combo_5round, combo_presignal, fire_5round

Note: Physical type (B/BJ) doesn't strictly determine behavior. Use station type + continuous/tamper flags to configure actual behavior.

Notes

  • 1-2-1-2: 1930s Phone Combo Station (Type B)
  • 2-1-2: 1930s Round Combo Station (Type B)