Skip to content

NC01-NC04 Independent User Acceptance Cards ​

Ownership: overall improvement plan G05/G06, V14. Materials are written; all actual trials are NOT_RUN. This document is not a support list and does not prove the listed page capabilities are complete; when forms, templates, diagnostics, or migration previews are missing, record a product gap — do not let developers hand-edit configs to work around it. Candidate version, hardware, wiring, trial personnel, and acceptance thresholds are not yet filled in; do not backfill with historical device pass records.

The current software's operation scope and entry points are listed below; trials must still be bound to the actually installed firmware/web, and devices must not be passed just because development documentation exists.

ScenarioCorresponding instructionsScope to verify before starting
NC01 ThermostatLocal Thermostat RulesLocal Celsius producer and a dedicated native low-level-energized output; do not fit arbitrary UART/Modbus values or expanders into thermostat control
NC02 Collection reportingMQTT Configuration, PeriphExecLocal enqueue/retention and actual platform receipt are separate; define message fields and the receiving end first
NC03 Read-only meterMeter Templates and Word OrderExact model/version, wiring, registers, and scaling must be verified; importing a template only generates a disabled draft
NC04 Board migrationDevice Configuration and MigrationA reusable plan does not include identity, network, or protocol field configs; target protocol, wiring, and rule semantics must be verified separately

Actual test and build results for the software candidate are unified in Candidate Status; the field still records the 20 cases below independently.

1. Confirm Before Starting ​

  • Log in with an authorized account and confirm "Device Configuration → Advanced Config → Developer-mode features" is enabled; peripheral/rule editing, meter templates, and migration endpoints depend on this switch.
  • The trial user did not participate in implementing the corresponding feature. The implementer may provide this document and wiring notes but does not operate on their behalf and does not provide hidden APIs, JSON, scripts, or C++ modifications as normal steps.
  • Record the device model/board revision, a desensitized MAC identifier, firmware and web artifact hashes, config version, and wiring diagram. The source version cannot be just a Git HEAD; it must reference the candidate input summary.
  • Back up the field config first, preserving the target device identity, auth, network, MQTT, and existing rules. Published material must not contain passwords, tokens, private addresses, or full backups.
  • Operate only within the authorized device scope. Unverified relays, motors, pumps, valves, and power loads are not operated; NC01 should first use a confirmed low-risk test load. This document adds no device or dangerous-output authorization.
  • Fill in the applicable scope and expected results independently. Missing hardware/wiring/safety conditions/trial users are recorded BLOCKED; missing necessary UI capabilities are recorded FAIL (product gap); N/A items state the reason and must not be silently skipped.
  • Before testing, confirm the old config is recoverable and that recovery will not overwrite the device identity. Fault injection, restarts, and disconnects each have authorization and recovery entry points; do not insert operations into an ongoing deployment or long-term-stability window.

2. Unified Recording Rules ​

Each item uses one of PASS, FAIL, BLOCKED, NOT_RUN, N/A, distinguishing page save, actual effect, valid sampling, command response, device readback, and physical feedback. Write PASS only with the corresponding evidence.

FieldFilling requirements
caseId / operation time / trial usere.g. NC02-03; use a timezone-aware time; the trial user is a non-sensitive identifier
Candidate and configInput summary, firmware/web hashes, board type, config summary; do not stitch together passes from multiple candidates
Preconditions / inputsWiring, load, sampling/thresholds/units, verified template source; leave unfilled if not provided
Expected / actualFill expected first; actual records visible values, time, state, and errors; do not backfill thresholds from actual results
EvidenceScreenshots, desensitized report records, device state, and physical observations linked separately; an independent directory per round, not overwriting failures
Help / sticking pointsHint text, click paths, whether developer intervention was needed and what it involved
Conclusion / recoveryStatus, issue ID, recovery process and recovery result; a successful recovery does not erase the original failure

Automated/Mock regressions can only be linked as E2 attachments. Real hardware E4, continuous runs E5, and independent users V14 are listed separately; automation cannot sign off on manual records.

3. NC01: Thermostat Relay ​

Prerequisites: supported temperature sensor, output module, verified wiring, and a low-risk load; reviewed units, upper/lower thresholds, hysteresis, minimum on/off times, staleness limit, and fail-safe state. Do not enable the output without these verified parameters.

CaseTrial user completes via the UIAcceptance pointsInitial state
NC01-01Select the sensor and output in Feature Config and Peripheral Configuration, filling pins/channels per the wiring notesPrecheck explains resource conflicts; readings carry correct units and validity; saving vs taking effect is distinguishedNOT_RUN
NC01-02Select data source, temperature condition, hysteresis, minimum on/off times, and fail-safe policy in PeriphExecAll required capabilities have form fields; any missing required field is a product gap — do not patch with scriptsNOT_RUN
NC01-03Change the temperature per the reviewed method and observe operation on both sides of and near the thresholdConsistent with the pre-filled thresholds/timings, no jitter; command, readback, and physical load feedback recorded separatelyNOT_RUN
NC01-04With permission, cause sensor staleness/disconnection and recoverStaleness does not become a valid 0; state is understandable; fail-safe and recovery policy match the agreementNOT_RUN
NC01-05After a confirmed restart, check rules and outputs, then disable via the UI and restore the original configRestart does not unexpectedly drive the load; disable result is verifiable; recovery does not overwrite identity/credentialsNOT_RUN

4. NC02: Data Collection and MQTT Reporting ​

Prerequisites: existing sensor, an approved MQTT test receiver, and agreed sampling period/fields/units/staleness policy; do not send field data to an unauthorized platform.

CaseTrial user completes via the UIAcceptance pointsInitial state
NC02-01Add the sensor in Peripheral Configuration and check readingsSuccessful, failed, and unsampled are clearly distinguished; fields/units/time are explainableNOT_RUN
NC02-02Configure MQTT in Communication Protocols, binding sampling fields and monitor displayNo hand-written scripts/JSON; credentials do not enter screenshots; page and receiver fields matchNOT_RUN
NC02-03Compare local display, rule values, and MQTT messagesSame source, scaling, units, and quality semantics; sampling time and message arrival time recorded separatelyNOT_RUN
NC02-04With permission, disconnect the test network, then restore the connectionOffline/cache age visible; queue bounded and justified; recovery per agreement, no passing old values as new samplesNOT_RUN
NC02-05With permission, restart, then check saved state and resume collection from the UIIdentity/rules/bindings preserved; invalid samples are not reported as valid zerosNOT_RUN

5. NC03: Read-only Modbus Meter ​

Prerequisites: exact meter model/revision and a verified read-only template, including serial parameters, address, function codes, registers, scaling, word order, and units. Without a verified template, record BLOCKED; never guess registers in the field or open write commands.

CaseTrial user completes via the UIAcceptance pointsInitial state
NC03-01Select/import a verified read-only template from the UIModel/version/applicable scope clear; needing hand-written frames or JSON to proceed is a product gapNOT_RUN
NC03-02Fill in address, serial, and wiring, and bind engineering-value displayBusiness logic unchanged; conflict precheck blocks invalid resource combinations before they take effectNOT_RUN
NC03-03Verify scaling, word order, and units against the meter reference readingTolerance agreed first; protocol readback and calibration/physical measurement recorded separatelyNOT_RUN
NC03-04With permission, verify timeouts, short frames, and CRC errors on the authorized test link, then recoverFailure types and staleness shown; old values not reused as new samples; unverified write capability never auto-enabledNOT_RUN
NC03-05With permission, restart and restore the template configBindings and logical IDs preserved; display valid only after fresh valid samples are obtained post-recoveryNOT_RUN

Steps requiring professional tools to produce bad frames are performed separately by the test lead with evidence; target users only need to understand the problem and recovery through the UI and are not required to program. Do not fake a pass when fault-injection conditions are missing.

6. NC04: Migrating to a Supported Board ​

Prerequisites: source/target boards within the declared support scope, target's existing config backed up, and identity/credential preservation policies clear for both; business outputs are disabled by default.

CaseTrial user completes via the UIAcceptance pointsInitial state
NC04-01Export a reusable desensitized plan from the source deviceVersion/dependency/resource requirements identifiable; no field passwords/tokens smuggled inNOT_RUN
NC04-02Preview import differences on the target and remap wiringShows incompatible drivers, missing capabilities, reserved pins, and bus conflicts; no preview is a product gapNOT_RUN
NC04-03Fix issues in the UI and saveFailure does not wipe valid old config; dangerous outputs not auto-enabled; target identity and credentials not overwrittenNOT_RUN
NC04-04Check data sources, logical IDs, rules, and display bindingsIDs/rules whose business meaning is unchanged are preserved where possible; necessary changes are shown explicitly with no dangling referencesNOT_RUN
NC04-05With permission, restart and restore the original configMigration plan is recoverable; identity preserved; when lossless rollback is impossible, explicitly block and recordNOT_RUN

7. V14 Exit Criteria and Handover ​

  1. One or more target users who did not participate in implementation complete the applicable scenarios independently; record all help and sticking points, not just success screens.
  2. Every required case has candidate-bound actual evidence; FAIL/BLOCKED/NOT_RUN do not count as passes; N/A has a written reason and does not waive the committed support scope.
  3. At least the applicable restarts and fault recoveries are completed, the device config is recoverable, and secret data is not leaked.
  4. Feed UI gaps back to G05, action/quality gaps back to G04, resource/lifecycle gaps back to G01-G03; physical/long-term stability is handed to G06 separately.
  5. Completing only this document does not mean the wizard, templates, four scenarios, or V14 are complete. Final conclusions are written back into the Release Acceptance Checklist; document counts must not substitute for product acceptance.

FastBee | fastbee.cn