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

CAN/ULC-S536 sets the frequency of each task. The core is the annual inspection and test, in which every device and function is tested at least once every twelve months. Between annual visits, the standard and the National Fire Code expect the owner, or someone the owner designates, to carry out simple routine checks: a daily check that the control unit shows normal, with its power lamp on and no trouble or supervisory signals; and monthly checks such as operating a manual station or a test function to sound the alarm, checking that the batteries and their connections are in good condition, and confirming that trouble signals are being received. The owner's checks are recorded in a log kept with the system, and the annual inspection reviews that log.

Typical frequencies in CAN/ULC-S536 and the National Fire Code (check the adopted edition).
ComponentCAN/ULC-S536
Control unit: normal conditionDaily owner check; annual test
Manual station or test functionMonthly owner test of one; all annually
BatteriesMonthly owner check; annual test
Smoke and heat detectorsAnnual test of each
Manual stationsAnnual test of each
Waterflow and supervisory switchesAnnual test of each
Signal devices and speakersAnnual test of each
Ancillary functionsAnnual test of each
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), ("owner monthly check", date(2026, 10, 2), 1), ("battery replacement date", date(2023, 12, 9), 48)]
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
owner monthly check              last 2026-10-02  due 2026-11-02     -1 days  OVERDUE
battery replacement date         last 2023-12-09  due 2027-12-09    401 days

The owner's monthly check is shown as overdue: the log in the panel cabinet has no entry for October. Gerry will raise it with the owner at the start of the annual visit, because the owner's checks are part of keeping the system in service between visits.

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.

CAN/ULC-S536 also expects any device or function that couldn't be tested at the annual inspection to be tested later and the report updated. A report with a list of untested devices is not a completed annual inspection until those devices are tested.

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-storey 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 tasks are annual, with daily and monthly owner checks between.
  • 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 check the owner does between annual visits.

    Show answer

    Daily panel check, or monthly manual station test or battery check.

  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