FAT-230 · Lesson 3 of 12 · 20 min

Test frequencies and planning the annual inspection

Donna Achebe's service office schedules about four hundred buildings. Each one has a due date for its annual inspection, and many have other visits between: battery checks, sprinkler device tests done with the sprinkler contractor, sensitivity testing, and service calls. On a whiteboard behind her desk, the month is divided into crews and buildings. 'If I let one building slip a month, it slips every year after that,' she tells Sasha. 'And the fire department notices.' This lesson covers how often each part of a system is inspected and tested, and how an inspection is planned so that it actually covers everything.

Frequencies come from the standard

NFPA 72 sets the frequency of each task in two tables. Table 14.3.1 gives visual inspection frequencies, and Table 14.4.3.2 gives test methods and frequencies. Most components are tested annually. Some are tested more often: valve-regulated lead-acid batteries and their chargers are tested semiannually, waterflow devices and valve supervisory switches are tested semiannually, and some components are inspected visually at intervals as short as weekly or monthly, especially where the system isn't monitored for integrity. Smoke detector sensitivity has its own schedule, covered in Lesson 7. Visual inspections of components in places that are hard to reach, such as some duct detectors, may be done less often where the table allows.

Typical frequencies from NFPA 72 Table 14.4.3.2 (check the adopted edition).
ComponentNFPA 72
Control unit functionsAnnual test
Batteries (sealed lead-acid)Semiannual test
Smoke detectors (function)Annual test
Smoke detector sensitivityWithin 1 year of installation, then every alternate year
Heat detectors, manual stationsAnnual test
Waterflow, valve supervisorySemiannual test
Notification appliancesAnnual test
Interface equipmentAnnual test
A twelve-month calendar bar. The annual inspection is a block in one month. Smaller markers repeat across the year for other checks, with a legend explaining each marker.
One building's year of inspection and testing.

Why some things are tested more often

Frequencies reflect how likely a component is to fail and how bad a failure would be. Batteries lose capacity steadily and fail without warning while the charger keeps their voltage up, so they are checked often. Sprinkler waterflow and valve supervisory switches are mechanical, sit in water lines, and protect the whole sprinkler system: a closed valve with a failed tamper switch can leave a building unprotected for months. Electronic detectors and control units are more reliable, and the annual test is usually enough. Where the building, the authority or the insurer requires more, such as in a hospital, a test may be done more often than the standard's minimum.

The frequency is a maximum interval, not a target. 'Annual' means within twelve months of the last test, and many authorities accept a short grace period only in writing. A test done in month thirteen is late, and the report should say so.

Planning an annual inspection

A good annual inspection is planned before the crew arrives. Gerry's planning starts with three documents: last year's report, the device list from the panel or the record drawings, and the building's sequence of operation. From these he builds a test plan for the visit.

  • Scope: how many devices of each type, on which floors, and which interfaces must be tested.
  • Access: which rooms need keys or escorts, which devices need a lift or a tall ladder, which suites need notice to tenants, and which areas have restricted hours, such as operating rooms or classrooms.
  • Coordination: which other trades must be present, such as the sprinkler contractor to open inspector's test valves, the elevator mechanic for recall tests and the building operator for fan and damper tests.
  • Disruption: when alarms can sound, how occupants will be warned, and which functions must be bypassed or disabled during testing so the building isn't shut down.
  • Time and crew: how many technicians for how many days, based on the number of devices and the access problems.

The plan is shared with the owner, who confirms the dates, arranges access and notifies tenants. For a large building, the inspection may be split into several visits, floor by floor, so that each tenant is disturbed once.

# Estimate crew-days for an annual inspection from the device counts
minutes_each = {"smoke detector": 4, "heat detector": 5, "manual station": 4, "signal device": 2,
                "waterflow or supervisory": 15, "duct detector": 20, "interface": 20, "speaker": 2}
counts = {"smoke detector": 410, "heat detector": 96, "manual station": 74, "signal device": 352,
          "waterflow or supervisory": 40, "duct detector": 6, "interface": 18, "speaker": 168}
work = sum(minutes_each[k] * counts[k] for k in counts)
setup = 90          # panel checks, battery test, notifications, report start
access = 0.25       # extra fraction for keys, ladders, tenants
total_min = (work + setup) * (1 + access)
hours = total_min / 60
print(f"device work {work / 60:.1f} h, with setup and access {hours:.1f} h")
for crew in (2, 3):
    days = hours / (crew * 7.5)
    print(f"crew of {crew}: about {days:.1f} days")
Output
device work 75.6 h, with setup and access 96.4 h
crew of 2: about 6.4 days
crew of 3: about 4.3 days

The estimate for Riverlight Tower, with over a thousand field devices, comes to about six days for a crew of two. Donna books a crew of three for four days, with the sprinkler contractor on day two and the elevator mechanic on day three.

Scheduling across many buildings

Across four hundred buildings, the office keeps a due-date record for every task, not just the annual visit. A system can be due for its annual inspection in March, its semiannual sprinkler device tests in March and September, and a sensitivity test cycle in alternate years. Missing any one of them is a gap in the building's compliance. Donna's scheduling software flags tasks coming due in the next sixty days, so she can book crews and other trades in time.

# Due dates for a building's tasks from the last completion date
from datetime import date, timedelta
def add_months(d, m):
    y, mo = divmod(d.month - 1 + m, 12)
    return date(d.year + y, mo + 1, min(d.day, 28))
tasks = [("annual inspection and test", date(2025, 12, 9), 12), ("semiannual waterflow tests", date(2026, 6, 10), 6), ("semiannual battery test", date(2026, 6, 10), 6), ("smoke sensitivity (2-year cycle)", date(2024, 12, 9), 24)]
today = date(2026, 11, 3)
for name, last, months in tasks:
    due = add_months(last, months)
    left = (due - today).days
    flag = "OVERDUE" if left < 0 else ("book now" if left <= 60 else "")
    print(f"{name:32s} last {last}  due {due}  {left:5d} days  {flag}")
Output
annual inspection and test       last 2025-12-09  due 2026-12-09     36 days  book now
semiannual waterflow tests       last 2026-06-10  due 2026-12-10     37 days  book now
semiannual battery test          last 2026-06-10  due 2026-12-10     37 days  book now
smoke sensitivity (2-year cycle) last 2024-12-09  due 2026-12-09     36 days  book now

The semiannual tests and the sensitivity cycle line up with the annual inspection in December, so Donna books them together, which saves a separate visit.

Testing after changes

The schedule isn't the only thing that triggers testing. Any change to the system, such as a new device, a replaced detector, a software change, or a repair of a wiring fault, requires the affected parts to be tested again. A change to the building that affects the system, such as a new wall, a new ceiling or a change in use, may also need the system to be re-examined. Small changes are tested by the service technician at the time; larger changes need verification or acceptance testing, covered in FAT-330.

NFPA 72 requires reacceptance testing after changes: when a device is added, removed or relocated, the affected device and circuit are tested; when software is changed, all functions affected by the change, and a sample of the others, are tested. Devices not tested at the scheduled time must be tested and documented as soon as possible.

Making the plan cover everything

The biggest risk in a large inspection isn't a failed device; it's a device that was never tested because nobody knew it was there. Gerry's crew works from the panel's point list, not from the floor plan alone, because the panel knows every addressable device that is connected. For conventional zones, the drawings and last year's device record are the list, and the crew counts devices on each zone to confirm the record is complete. At the end of each day, the test record is compared with the point list, and any device without a result goes on the next day's list.

# Compare the day's test results with the panel point list
points = {"L1-001", "L1-002", "L1-003", "L1-004", "L1-005", "L1-006", "L1-007", "L1-008"}
tested = {"L1-001": "pass", "L1-002": "pass", "L1-004": "fail", "L1-005": "pass", "L1-007": "pass", "L1-009": "pass"}
not_tested = sorted(points - set(tested))
unknown = sorted(set(tested) - points)
print("tested:", len(tested), "of", len(points), "listed points")
print("not yet tested:", ", ".join(not_tested))
print("tested but not on the list (check the program):", ", ".join(unknown))
print("failed:", ", ".join(k for k, v in tested.items() if v == "fail"))
Output
tested: 6 of 8 listed points
not yet tested: L1-003, L1-006, L1-008
tested but not on the list (check the program): L1-009
failed: L1-004

Two kinds of gaps show up. Three listed devices haven't been tested yet; they go on tomorrow's list. One device was tested that isn't on the point list, which means either the list is out of date or a device was added without being programmed properly; either way it must be investigated and the records corrected.

Worked problem

Planning Tamarind House

Tamarind House is a six-story office building with an addressable system: 182 smoke detectors, 24 heat detectors, 31 manual stations, 140 horn-strobes, 6 waterflow switches, 12 valve supervisory switches, 2 duct detectors and 8 interfaces. Two floors are leased to a law firm that wants no alarms during business hours. How should Gerry plan the visit?

Show solution
  1. Estimate the time: roughly two days for a crew of two, from the device counts.
  2. Schedule the law firm's floors for testing before 8 a.m. or after 5 p.m., or on a Saturday, and test silent where the method allows, with signals tested in a short, announced window.
  3. Book the sprinkler contractor for the waterflow and valve tests and the building operator for the duct detector and fan tests.
  4. Notify the monitoring station and the fire department before each test session (Lesson 4).
  5. Use the panel point list to track every device, and compare it with results at the end of each day.

Answer: The plan covers every device, keeps the tenants informed and books the other trades the tests depend on.

When the building's use changes the plan

Some buildings need more than the minimum. A hospital may ask for detectors in operating suites to be tested at night when the rooms are empty, and for testing in patient areas to be done in short, announced windows. A school is usually tested in the summer or on professional development days. A warehouse with high racking needs a lift booked for every high detector and may require the racking aisles to be closed while the crew works. A data room or a laboratory may need its clean agent or special suppression system isolated by its own contractor before nearby detectors are tested, so that a test doesn't discharge the agent. Each of these goes into the plan, and each has a cost in time that the owner should understand before the visit.

Gerry also plans for what last year's report says. If last year found a recurring ground fault, he books extra time to trace it. If last year's sensitivity report showed detectors drifting in one area, he brings replacement heads. The previous report is the best predictor of where this year's time will go.

# Add time for known problems from last year's report
base_hours = 33.0
known = [("recurring ground fault, loop 2", 2.0), ("lift needed for 14 high detectors", 3.5), ("detectors drifting in garage", 1.0)]
total = base_hours + sum(h for _, h in known)
for what, h in known:
    print(f"+{h:4.1f} h  {what}")
print(f"planned hours: {total:.1f}")
Output
+ 2.0 h  recurring ground fault, loop 2
+ 3.5 h  lift needed for 14 high detectors
+ 1.0 h  detectors drifting in garage
planned hours: 39.5

Planning also includes the weather. Outdoor devices, such as fire department connection bells and exterior beacons, and sprinkler tests with outdoor discharges are scheduled for days when water won't freeze and technicians can work safely on ladders.

Common mistakes

  • MistakeTreating 'annual' as 'sometime this year'.

    InsteadAnnual means within twelve months of the last test.

  • MistakePlanning from the floor plan alone.

    InsteadWork from the panel point list and the device record.

  • MistakeForgetting the tasks between annual visits.

    InsteadTrack every task's due date, not just the annual inspection.

  • MistakeLeaving untested devices off the next visit.

    InsteadList them and test them as soon as possible.

  • MistakeSkipping retests after a repair.

    InsteadTest every part the change or repair affected.

Summary and key terms

  • The standard sets a maximum interval for each task.
  • Most tests are annual; batteries, waterflow and valve supervisory devices are semiannual.
  • Frequencies reflect how likely and how serious a failure would be.
  • Planning covers scope, access, coordination, disruption and time.
  • The point list is the checklist for addressable systems.
  • Changes and repairs trigger tests of what they affect.
Frequency
The maximum interval allowed between inspections or tests.
Point list
The control unit list of every addressable device and its address.
Test plan
The written plan for an inspection: scope, access, trades, time.
Retest
A test after a change or repair of the parts it affected.
Owner checks
Simple routine checks done by the owner between service visits.
Grace period
Extra time to complete a task, allowed only if the authority accepts it.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. What does 'annual' mean for a test frequency?

    Show answer

    Within twelve months of the last test.

  2. Name one component tested semiannually.

    Show answer

    Sealed lead-acid batteries, waterflow switches or valve supervisory switches.

  3. What list does the crew track devices against on an addressable system?

    Show answer

    The panel point list.

  4. Who must be booked for waterflow tests?

    Show answer

    The sprinkler contractor, or whoever operates the sprinkler valves.

  5. What triggers a retest outside the schedule?

    Show answer

    A change, repair or software change that affects the system.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz