The physical test button on AR3 provides field testing capability without requiring Home Assistant access or computer connection. The button connects between pin A3 and ground with the pin configured in INPUT_PULLUP mode, so the pin reads HIGH when the button is not pressed and LOW when pressed. The code tracks button state across loop iterations, detecting transitions from HIGH to LOW (button press) and LOW to HIGH (button release).

When a press is detected (transition to LOW), the code records the time and sets a flag. When a release is detected (transition to HIGH), the code measures how long the button was held. If hold time was less than 1.2 seconds, this is considered a short press and initiates a test sequence. If hold time was 1.2 seconds or longer, this is considered a long press and terminates any running test.

A short press executes the following sequence: First, AR3 sends SIMCTRL:SPEED:1.0 to AR2 via UDP, setting the scenario to run at real-time speed. Second, AR3 sends SIMCTRL:START:1 to AR2, initiating scenario 1. Third, AR3 sends HB:0 over RS-485 to AR1, forcing the heartbeat signal off so that autonomous mode won't exit even if AR1 is actually present and transmitting real heartbeats. Fourth, AR3 forces itself into autonomous mode regardless of actual heartbeat state. The test sequence then runs, with AR2 feeding simulated sensor values to AR3 and AR3's autonomous algorithms responding. All relay actuations are real—outputs energize and de-energize according to the algorithm's decisions, allowing visual confirmation that logic is functioning correctly.

A long press sends SIMCTRL:STOP to AR2, halting the scenario and returning AR2 to real sensor publishing. AR3 clears its test mode flags and resumes normal heartbeat monitoring, allowing return to remote mode if AR1 heartbeat is present.

The TestSys versus FireSys hardware detection provides automatic configuration adjustment for the two deployment contexts—the laboratory test bench where no LCD hardware is present and field timing would be inconveniently slow, versus the field installation where an LCD displays status and production timing is appropriate. The physical detection mechanism uses digital pin 11 configured in INPUT_PULLUP mode. On TestSys hardware, this pin is connected to ground via a wire jumper. On FireSys hardware, the pin is left floating and the internal pullup resistor pulls it HIGH.

<< Testing Infrastructure and System Validation cont | | Testing Infrastructure and System Validation cont >>      |Table of Contents>


Page last modified on February 08, 2026, at 11:48 pm