Install
openclaw skills install @voronindenis5/smoke-alarm-auditorUse when a smoke or CO alarm chirps, or for a home safety audit — decodes beep patterns (low battery vs CO vs fault vs end-of-life) by brand behavior, dates the whole house (10-year smoke / 7-year CO / battery schedules), sizes the install plan to NFPA 72 (every bedroom, outside sleeping areas, per floor, interconnected), and prints a placement anti-pattern list (dead air zones, kitchen false alarms).
openclaw skills install @voronindenis5/smoke-alarm-auditorThe smoke alarm chirps at 3AM. Nobody remembers what the pattern means, whether it's the battery or the unit dying, or how old the units even are. Meanwhile the actual safety facts stay unknown in most homes: smoke alarms have a 10-year life, CO alarms 7, every bedroom needs its own alarm plus one outside each sleeping area and one per floor (interconnected), and a chirp pattern is a language — one beep/minute is low battery, but 3-4 quick beeps repeating is SMOKE, 4-5 with a pause on CO units is CARBON MONOXIDE.
This skill:
Don't use for: commercial fire systems (NFPA 72 commercial code + licensed inspectors), heat-detector-only specs for attics (simple rule in references), or investigating a current fire — leave and call emergency services.
python3 scripts/alarms.py chirp --pattern "1 beep every minute"
python3 scripts/alarms.py chirp --pattern "3 quick beeps repeating"
python3 scripts/alarms.py audit --units unit.json
python3 scripts/alarms.py coverage --bedrooms 3 --floors 2
python3 scripts/alarms.py placement --room kitchen
python3 scripts/alarms.py co --event "alarm sounded 30 min ago"
unit.json format: [{"id":"hall-1","kind":"smoke|co|combo", "installed":"2019-04","battery":"9v|aa|sealed10"}]
Stdlib-only, no network.
| Pattern | Meaning | Action |
|---|---|---|
| ~1 chirp / 30-60 s, steady for hours/days | LOW BATTERY | replace battery (or unit if sealed) |
| 3-4 loud fast beeps, pause, repeat | SMOKE ALARM | treat as fire: evacuate, verify |
| 4 fast beeps + voice/"CO" or 5 beeps on Kidde | CARBON MONOXIDE | evacuate, ventilate, call for CO eval |
| 3 chirps (unit not 1/minute) or 5 every minute on some models | UNIT FAULT / EOL | replace the unit |
| Chirp continues after NEW battery | END-OF-LIFE (sensor) | replace unit — it's 10 years old |
| Brief chirp at exact same time nightly | temperature dip + weak battery | replace battery; it's marginal |
Brand variance is real: First Alert CO = 4 beeps + "Warning carbon monoxide"; Kidde CO often 4 beeps repeating, EOL = 5 chirps/minute. The decoder prints both conventions and tells you to confirm against the label on the back of the unit (which also carries the manufacture date).
| Unit type | Service life | Why it expires |
|---|---|---|
| Ionization/smoke (any brand power) | 10 years from manufacture | sensing chamber drifts; dust + age |
| Photoelectric smoke | 10 years | same |
| CO alarm (standalone or combo) | 7-10 years (electrochemical cell dies) | label date governs |
| Sealed 10-year lithium units | battery lasts the unit's life; still expires at 10y | chirps = replace whole unit |
| 9V/AA replaceable | battery yearly (or at chirp) | alkaline fades with cold |
Manufacture date is printed on the BACK of the unit (MMYYYY or similar). If your home's alarms have no dates you can find, they're older than 10 years — replace them all.
chirp --pattern "..." → what it means + immediate
action. If smoke/CO pattern: stop, follow the evacuation script.unit.json.audit --units unit.json → ages, EOL flags, ordered replacement
plan (oldest + bedrooms first).coverage --bedrooms N --floors F → NFPA-72-based unit count and
placement plan; check gaps.placement --room <room> for each planned spot → anti-pattern check
(dead-air corners, kitchen proximity, garage).This skill encodes widely published NFPA consumer guidance; codes vary by jurisdiction and change. It cannot hear your alarm — when the decoder says smoke or CO, act first (evacuate/ventilate/call) and verify after. CO symptoms (headache, nausea, confusion) with an active alarm = fresh air immediately and emergency evaluation.