Blog

  • System Heartbeat: 2026-10-13 Summary

    ☀️ Daily Infrastructure Briefing

    Maine Camp infrastructure remains fully operational and occupied, with all systems nominal under overcast, 31°F skies. The 24-hour vision intelligence summary confirmed a hive of domestic activity, analyzing 34 events that primarily chronicled the ceaseless patrols of a resident male, his canine companion(s), and two steadfast pickup trucks around the gravel driveway. Amidst this flurry of authorized movement, the system also logged four wildlife sightings—including a brief cameo by a “fox-like animal”—while confirming zero unrecognized vendor or vehicle incursions. On the digital front, Fidium Fiber is dutifully handling the data load at 173.63 GiB against HughesNet’s quiet 2.74 GiB, supporting 13 concurrent network leases. Core environmental health is green across all access points, the server rack is embracing the local climate at a brisk 38.85°F, and the power matrix is unflappable with a 5.0% load on a stable 121.0V utility feed and a 99% battery reserve.


    📊 24-Hour Network Telemetry Data

    • Total Registered Movements: 34
    • Acoustic Activity Warnings:
    • Security Flag Triggers:
    • Wildlife Activity Logs: 4
    • Vehicle Gate Crossings:
    • Active DHCP Leases: 13

    🌐 WAN Ingress Traffic Statistics

    • HughesNet Satellite Ingress (igb0): 2.74 GiB GB
    • Fidium Fiber Ingress (igb1): 173.63 GiB GB

    📡 UniFi Access Point Inventory Profile

    • AP-Main-Camp: 🟢 Healthy / Online (Processed: 0.32 GB)
    • AP-Bunk-House: 🟢 Healthy / Online (Processed: 0.23 GB)
    • AP-EasternShore: 🟢 Healthy / Online (Processed: 0.00 GB)

    🌡️ Thermal & Local Weather Environment

    • Equipment Rack Core Temp: 38.85°F
    • Local Forecast Profile: Overcast , currently 31°F.

    ⚡ Power Matrix

    • Utility Input Line: 121.0V
    • UPS Infrastructure Load: 5.0%
    • Battery Reserve Capacity: 99.0%

    System Status: Nominal. Daily operational telemetry compiled automatically by Core n8n Scheduler.

  • Infrastructure Log: Hardening pfSense USB NUT Telemetry & Remote Monitoring

    Date: October 12, 2026

    Sites Involved: Campfire (campfire.madiganpoint.com – Maine) & Pivot4Port (pivot4port.madiganpoint.com – Stowe)

    Devices: APC Back-UPS Pro RS 1500MS2 (Maine), APC Back-UPS Pro NS 1500M2 (Stowe)

    1. Context & Objective

    The goal of this project was to establish reliable, persistent power telemetry from our primary pfSense firewalls to our Prometheus and Grafana monitoring stack before the winter shutdown.

    • Topology:
      • Maine Firewall (campfire – 192.168.76.1): APC UPS connected via USB to a Protectli vault chassis. Runs the FreeBSD nut package (usbhid-ups and upsd daemon listening on TCP 3493).
      • Collector (bear – 192.168.76.32): Runs nut_exporter in Docker, proxying scrapes between Prometheus and campfire:3493.
      • Metrics Stack: K3s cluster running Prometheus (scraping every 30s) and Grafana visualizing input voltage, battery load, charge, and online state.

    2. Incident: 3:00 AM Telemetry Drop & Root Cause Analysis

    The Failure

    At 03:00 AM, telemetry went completely flat in Grafana. Prometheus reported:

    Plaintext

    server returned HTTP status 500 Internal Server Error
    read tcp 10.169.0.4:35626->192.168.76.1:3493: i/o timeout
    

    Locally on campfire, the pfSense WebGUI reported Alert: The UPS requires attention / Failed to retrieve status. Restarting the NUT service via the GUI did not recover the connection.

    Root Cause

    1. USB Bus Renegotiation: At 3:00 AM (during system log rotation / maintenance), the USB controller momentarily power-cycled its downstream ports, forcing FreeBSD to re-enumerate the bus.
    2. Device Node Drift: The UPS shifted from ugen0.5 down to ugen0.4.
    3. FreeBSD Permission Lockout: FreeBSD created the new character devices (/dev/usb/0.4.0 and /dev/usbctl) with default restrictive permissions (root:operator0644). The unprivileged nut user running usbhid-ups was denied access:
      Plaintextlibusb1: Could not open any HID devices: insufficient permissions on everything
    4. Daemon Deadlock:usbhid-ups died and left a stale socket file in /var/db/nut/. The upsd server hung indefinitely trying to talk to the dead socket, causing incoming TCP 3493 connections from bear to time out.
    5. Why pfSense Backups Don’t Cover This: Standard pfSense XML backups only save WebGUI application configuration (e.g., nut.conf, user definitions, port assignments). They do not back up or restore low-level FreeBSD OS configuration files like /etc/devfs.conf or custom /usr/local/etc/devd/ rules across upgrades or fresh reinstalls.

    3. Runbook: Permanent Fix & Hardening

    To make this configuration resilient against USB disconnects, power bounces, and port re-enumerations, we implemented a dual-layer fix on both campfire (Maine) and pivot4port (Stowe).

    Step 1: Kernel-Level DevFS Persistence (/etc/devfs.conf)

    We appended permissions rules to /etc/devfs.conf so FreeBSD enforces nut:nut and 0666 mode whenever nodes are created or devfs is reloaded:

    Bash

    printf '\n# NUT APC UPS Permissions\nown /dev/ugen* nut:nut\nperm /dev/ugen* 0666\nown /dev/usb/* nut:nut\nperm /dev/usb/* 0666\nown /dev/usbctl nut:nut\nperm /dev/usbctl 0666\n' >> /etc/devfs.conf
    /etc/rc.d/devfs restart
    

    Step 2: Dynamic Hotplug Event Handling (/usr/local/etc/devd/nut_apc.conf)

    Because devices behind USB hubs can re-attach dynamically without triggering a full devfs reload, we added a catch-all devd event rule matching the APC USB Vendor ID (0x051d):

    Bash

    printf 'notify 100 {\n\tmatch "system" "USB";\n\tmatch "subsystem" "DEVICE";\n\tmatch "type" "ATTACH";\n\tmatch "vendor" "0x051d";\n\taction "chown -R nut:nut /dev/ugen* /dev/usb* /dev/usbctl; chmod -R 666 /dev/ugen* /dev/usb* /dev/usbctl";\n};\n' > /usr/local/etc/devd/nut_apc.conf
    /etc/rc.d/devd restart
    

    Step 3: Emergency Recovery Commands (If Ever Needed)

    If a hung process or stale socket locks the service before permissions apply:

    Bash

    killall -9 usbhid-ups upsd upsmon 2>/dev/null
    rm -f /var/db/nut/* /var/run/nut/*
    /etc/rc.d/devfs restart
    /usr/local/etc/rc.d/nut.sh start
    upsc <ups_name>@localhost
    

    4. Grafana Panel PromQL Correction

    During setup, the pfSense Grid Attachment State panel displayed constant red because it was querying output load (network_ups_tools_ups_load) instead of status flags.

    • Incorrect Query:network_ups_tools_ups_load{...} (returned 4–6% load, breaking the binary 0/1 color mapping).
    • Corrected Query:
      Code snippetnetwork_ups_tools_ups_status{instance="camp-pfsense-ups", job="camp-pfsense-ups", flag="OL"} (Returns 1 when Online, 0 when On Battery, mapping cleanly to Dark Green / Dark Red).

    5. Physical Cabling & Interconnect Topology

    Plaintext

    [APC Back-UPS 1500]
           │
           │ (Proprietary RJ50 / 10-pin modular to USB-A cable - APC AP9827)
           ▼
    [USB-A Female to USB-C Male Adapter / Dongle]
           │
           ▼
    [Protectli Vault Chassis] (Front USB-C Port)
    

    The APC 1500 units use an RJ50 (10-pin) to USB Type-A data cable (AP9827). Because the Protectli firewall uses USB-C ports on the front I/O, a compact USB-A Female to USB-C Male adapter connects the UPS directly to the chassis, bypassing unnecessary intermediary powered hubs.

    6. Battery Fleet Health Matrix & May 2027 Shopping List

    LocationUPS ModelBattery CartridgeSerial NumberBattery Mfg DateHealth / Action Plan
    Camp Main HouseBack-UPS Pro RS 1500MS2APC RBC1244B2115P175612021/04/16Replace May 2027 (~5.5 yrs old; rapid voltage sag)
    Camp GarageBack-UPS Pro RS 1500MS2APC RBC1240B2352L391962023/12/29Healthy (~2.8 yrs old; ~135 min runtime at 4% load)
    Stowe FirewallBack-UPS Pro NS 1500M2APC RBC1240B2422L113862024/05/28Healthy (~2.4 yrs old; 100% capacity)

    Items to Purchase Before Returning in May:

    1. Replacement Battery Pack:
      • Part:APC RBC124 (Pre-wired cartridge consisting of two 12V 9Ah AGM lead-acid batteries with inline fuse and APC terminal connector).
      • Cost: ~$65 – $75 (OEM equivalent by ExpertPower or UPSBatteryCenter) / ~$95 – $105 (Schneider/APC Original).
    2. Chassis USB Adapter:
      • Part:USB Type-A Female to USB Type-C Male Adapter (low-profile aluminum stub or 6″ pigtail, USB 3.0 OTG compliant, e.g., Anker or CableCreation 2-pack).
      • Cost: ~$8 – $11.
  • System Heartbeat: 2026-10-12 Summary

    ☀️ Daily Infrastructure Briefing

    **Maine Camp Infrastructure Ledger: Daily Heartbeat**

    All systems report nominal with the camp occupied and humming along in the 49°F mist. The gravel driveway served as the primary theater of operations over the last 24 hours, with our vision intelligence analyzing 139 events chronicling the high-energy logistics of family life: a constant ballet of residents, dogs, kayaks, leaf blowers, and a truly remarkable quantity of red gas cans. Notable cameos included a delivery person bearing a large white package and a single wildlife sighting among the day’s standard activities. Supporting this flurry of movement, the digital infrastructure remains robust, with 14 concurrent network leases pulling down a hefty 130.20 GiB via Fidium Fiber, while all wireless access points report green. The core environmental and power matrices are solid, with the server rack holding a crisp 50.00°F and utility power steady at 121.0V under a negligible 4.0% load, keeping the camp’s digital heart beating strong.


    📊 24-Hour Network Telemetry Data

    • Total Registered Movements: 139
    • Acoustic Activity Warnings:
    • Security Flag Triggers:
    • Wildlife Activity Logs: 1
    • Vehicle Gate Crossings:
    • Active DHCP Leases: 14

    🌐 WAN Ingress Traffic Statistics

    • HughesNet Satellite Ingress (igb0): 703.64 MiB GB
    • Fidium Fiber Ingress (igb1): 130.20 GiB GB

    📡 UniFi Access Point Inventory Profile

    • AP-Main-Camp: 🟢 Healthy / Online (Processed: 0.45 GB)
    • AP-Bunk-House: 🟢 Healthy / Online (Processed: 0.04 GB)
    • AP-EasternShore: 🟢 Healthy / Online (Processed: 0.01 GB)

    🌡️ Thermal & Local Weather Environment

    • Equipment Rack Core Temp: 50.00°F
    • Local Forecast Profile: Mist, currently 49°F.

    ⚡ Power Matrix

    • Utility Input Line: 121.0V
    • UPS Infrastructure Load: 4.0%
    • Battery Reserve Capacity: 100.0%

    System Status: Nominal. Daily operational telemetry compiled automatically by Core n8n Scheduler.

  • System Heartbeat: 2026-10-11 Summary

    ☀️ Daily Infrastructure Briefing

    Operational heartbeat remains strong and steady with the camp currently occupied. The vision intelligence system analyzed 26 events, primarily documenting the expected flurry of human activity, including driveway traffic, ATV usage, and late-autumn property maintenance. The detection model showed some creative flair, misclassifying subjects as a dog and, ambitiously, a bird, but ground truth confirms all activity was standard for residents and guests. Network performance is robust with 13 concurrent leases active, and Fidium Fiber continues to bear the brunt of data ingress at 41.42 GiB. Under an overcast sky and a current temperature of 35°F, all core infrastructure is healthy; the server rack is maintaining a brisk 38.85°F, powered by a nominal 122.0V utility input with a minimal 2.0% load and a fully charged battery backup.


    📊 24-Hour Network Telemetry Data

    • Total Registered Movements: 26
    • Acoustic Activity Warnings:
    • Security Flag Triggers:
    • Wildlife Activity Logs: 0
    • Vehicle Gate Crossings:
    • Active DHCP Leases: 13

    🌐 WAN Ingress Traffic Statistics

    • HughesNet Satellite Ingress (igb0): 76.93 MiB GB
    • Fidium Fiber Ingress (igb1): 41.42 GiB GB

    📡 UniFi Access Point Inventory Profile

    • AP-Main-Camp: 🟢 Healthy / Online (Processed: 0.15 GB)
    • AP-Bunk-House: 🟢 Healthy / Online (Processed: 0.07 GB)
    • AP-EasternShore: 🟢 Healthy / Online (Processed: 0.00 GB)

    🌡️ Thermal & Local Weather Environment

    • Equipment Rack Core Temp: 38.85°F
    • Local Forecast Profile: Overcast , currently 35°F.

    ⚡ Power Matrix

    • Utility Input Line: 122.0V
    • UPS Infrastructure Load: 2.0%
    • Battery Reserve Capacity: 100.0%

    System Status: Nominal. Daily operational telemetry compiled automatically by Core n8n Scheduler.

  • System Heartbeat: 2026-10-10 Summary

    ☀️ Daily Infrastructure Briefing

    All systems report nominal on the Maine Camp infrastructure ledger under sunny skies and a brisk 37°F. The property remains occupied, and vision intelligence confirms this with 48 analyzed events dominated by expected human and canine activity around the gravel driveway and a resident pickup truck; no vendor traffic was observed, though local fauna including a fawn and a wild canid made notable appearances. Network traffic is flowing smoothly with Fidium Fiber shouldering the primary load at 7.73 GiB against HughesNet’s 2.43 GiB, distributed across 10 concurrent leases. All access points are healthy, and the server rack is keeping pace with the chilly outdoor temperature at 37.27°F. The entire grid is sustained by stable 121.0V utility power with a minimal 2.0% load, leaving the battery backup fully charged and patiently standing by.


    📊 24-Hour Network Telemetry Data

    • Total Registered Movements: 48
    • Acoustic Activity Warnings:
    • Security Flag Triggers:
    • Wildlife Activity Logs: 3
    • Vehicle Gate Crossings:
    • Active DHCP Leases: 10

    🌐 WAN Ingress Traffic Statistics

    • HughesNet Satellite Ingress (igb0): 2.43 GiB GB
    • Fidium Fiber Ingress (igb1): 7.73 GiB GB

    📡 UniFi Access Point Inventory Profile

    • AP-Main-Camp: 🟢 Healthy / Online (Processed: 0.11 GB)
    • AP-Bunk-House: 🟢 Healthy / Online (Processed: 0.04 GB)
    • AP-EasternShore: 🟢 Healthy / Online (Processed: 0.05 GB)

    🌡️ Thermal & Local Weather Environment

    • Equipment Rack Core Temp: 37.27°F
    • Local Forecast Profile: Sunny, currently 37°F.

    ⚡ Power Matrix

    • Utility Input Line: 121.0V
    • UPS Infrastructure Load: 2.0%
    • Battery Reserve Capacity: 100.0%

    System Status: Nominal. Daily operational telemetry compiled automatically by Core n8n Scheduler.

  • System Heartbeat: 2026-10-09 Summary

    ☀️ Daily Infrastructure Briefing

    Camp operations are nominal with the family in residence. The last 24 hours remained quiet from a security intelligence perspective; vision systems analyzed two minor events, the most significant being the observation of a red pickup truck on the property, assessed with high confidence as a landscaping or lawn care vendor. All network services are performing as expected with four concurrent leases active, pushing 2.88 GiB over the Fidium fiber while the HughesNet satellite link idled. Amidst the local mist and 41°F temperatures, the core infrastructure matrix is green across the board: all access points are healthy, the server rack is holding at a cool 51.45°F, and the power system is stable under a minimal 2.0% load with battery reserves at 100%.


    📊 24-Hour Network Telemetry Data

    • Total Registered Movements: 2
    • Acoustic Activity Warnings:
    • Security Flag Triggers:
    • Wildlife Activity Logs: 0
    • Vehicle Gate Crossings:
    • Active DHCP Leases: 4

    🌐 WAN Ingress Traffic Statistics

    • HughesNet Satellite Ingress (igb0): 27.04 MiB GB
    • Fidium Fiber Ingress (igb1): 2.88 GiB GB

    📡 UniFi Access Point Inventory Profile

    • AP-Main-Camp: 🟢 Healthy / Online (Processed: 0.01 GB)
    • AP-Bunk-House: 🟢 Healthy / Online (Processed: 0.04 GB)
    • AP-EasternShore: 🟢 Healthy / Online (Processed: 0.00 GB)

    🌡️ Thermal & Local Weather Environment

    • Equipment Rack Core Temp: 51.45°F
    • Local Forecast Profile: Mist, currently 41°F.

    ⚡ Power Matrix

    • Utility Input Line: 121.0V
    • UPS Infrastructure Load: 2.0%
    • Battery Reserve Capacity: 100.0%

    System Status: Nominal. Daily operational telemetry compiled automatically by Core n8n Scheduler.

  • System Heartbeat: 2026-10-08 Summary

    ☀️ Daily Infrastructure Briefing

    Maine Camp remains in standby security mode, with operations nominal under overcast skies and a current temperature of 52°F. The day’s sole excitement was a brief visit from a FedEx delivery van at 11:35 AM, an event duly analyzed by our vision intelligence and logged as a routine delivery. All monitoring systems are healthy, with three access points online and four active network leases mapped. The server rack is maintaining a cool 52.12°F, supported by stable utility power at 121.0V with a minimal 2.0% load against a fully charged battery backup. Data traffic remains robust on the primary Fidium Fiber link, which handled 2.02 GiB, while the HughesNet satellite failover saw negligible activity.


    📊 24-Hour Network Telemetry Data

    • Total Registered Movements: 2
    • Acoustic Activity Warnings:
    • Security Flag Triggers:
    • Wildlife Activity Logs: 0
    • Vehicle Gate Crossings:
    • Active DHCP Leases: 4

    🌐 WAN Ingress Traffic Statistics

    • HughesNet Satellite Ingress (igb0): 17.08 MiB GB
    • Fidium Fiber Ingress (igb1): 2.02 GiB GB

    📡 UniFi Access Point Inventory Profile

    • AP-Main-Camp: 🟢 Healthy / Online (Processed: 0.01 GB)
    • AP-Bunk-House: 🟢 Healthy / Online (Processed: 0.05 GB)
    • AP-EasternShore: 🟢 Healthy / Online (Processed: 0.00 GB)

    🌡️ Thermal & Local Weather Environment

    • Equipment Rack Core Temp: 52.12°F
    • Local Forecast Profile: Overcast , currently 52°F.

    ⚡ Power Matrix

    • Utility Input Line: 121.0V
    • UPS Infrastructure Load: 2.0%
    • Battery Reserve Capacity: 100.0%

    System Status: Nominal. Daily operational telemetry compiled automatically by Core n8n Scheduler.

  • System Heartbeat: 2026-10-07 Summary

    ☀️ Daily Infrastructure Briefing

    The Maine Camp infrastructure remains in a state of quiet vigilance under standby security, with vision intelligence confirming a profoundly uneventful period—the official narrative being “No notable security or activity events recorded across the past 24 hours.” While the local fauna and potential vendors apparently took the day off, the network showed signs of life, pulling 1.24 GiB over the Fidium fiber link to service four concurrent leases. All vital signs are green across the board: access points are online, utility power is stable at 121.0V against a negligible 2.0% load, and the server room is maintaining a brisk 48.20°F in the crisp 33°F morning sun.


    📊 24-Hour Network Telemetry Data

    • Total Registered Movements: 0
    • Acoustic Activity Warnings:
    • Security Flag Triggers:
    • Wildlife Activity Logs: 0
    • Vehicle Gate Crossings:
    • Active DHCP Leases: 4

    🌐 WAN Ingress Traffic Statistics

    • HughesNet Satellite Ingress (igb0): 7.04 MiB GB
    • Fidium Fiber Ingress (igb1): 1.24 GiB GB

    📡 UniFi Access Point Inventory Profile

    • AP-Main-Camp: 🟢 Healthy / Online (Processed: 0.02 GB)
    • AP-Bunk-House: 🟢 Healthy / Online (Processed: 0.06 GB)
    • AP-EasternShore: 🟢 Healthy / Online (Processed: 0.00 GB)

    🌡️ Thermal & Local Weather Environment

    • Equipment Rack Core Temp: 48.20°F
    • Local Forecast Profile: Sunny, currently 33°F.

    ⚡ Power Matrix

    • Utility Input Line: 121.0V
    • UPS Infrastructure Load: 2.0%
    • Battery Reserve Capacity: 100.0%

    System Status: Nominal. Daily operational telemetry compiled automatically by Core n8n Scheduler.

  • Camp Power Update: Main Power Restored to Garage

    Utility grid power stability has returned. Garage equipment has transitioned safely off battery lines.

    Restored at: 10/6/2026, 2:40:24 PM

  • Camp Power Alert: Outage Detected Garage

    The camp power grid dropped. Garage UPS is holding the stack on battery backup right now.

    Event occurred at: 10/6/2026, 1:38:24 PM