Device: Synaccess netBooter NP-0501DU Firmware: Unknown Test Date: 2025-10-08 Tested By: Robert Sigler
CRITICAL: Outlets 1 and 5 have INVERTED status reporting. The device reports the OPPOSITE of the actual physical state.
| rly Index | Physical Outlet | Status Position | Logic Type |
|---|---|---|---|
rly=0 |
Outlet 1 | Position 4 (rightmost) | INVERTED |
rly=1 |
Outlet 2 | Position 3 | Unknown |
rly=2 |
Outlet 3 | Position 2 | Unknown |
rly=3 |
Outlet 4 | Position 1 | Unknown |
rly=4 |
Outlet 5 | Position 0 (leftmost) | INVERTED |
Status format: $A0,XXXXX,current,temp
The 5-character outlet string maps as follows:
Position: 0 1 2 3 4
Outlet: 5 4 3 2 1
Index: [0] [1] [2] [3] [4]
Documentation confirmation: "The most right x for relay1" ✓ CORRECT
- Rightmost bit (position 4) = Physical outlet 1
- Leftmost bit (position 0) = Physical outlet 5
- Control:
rly=0 - Status: Position 4 (rightmost)
- Problem: When outlet 1 is physically ON:
- Device reports:
0(OFF) - Sending
rly=0changes status to1(ON) - But physical outlet turns OFF
- Device reports:
- Effect: Status bit is inverted from physical reality
- Control:
rly=4 - Status: Position 0 (leftmost)
- Problem: When outlet 5 is physically ON:
- Device reports:
0(OFF) - Sending
rly=4changes status to1(ON) - But physical outlet turns OFF
- Device reports:
- Effect: Status bit is inverted from physical reality
Physical Reality: Outlet 1=ON, Outlet 5=ON, Others=OFF
Device Reports: $A0,00000,0.15,XX (all OFF)
Current Draw: 0.15A (confirms power is being drawn)
Before: 00000 (Device says: all OFF)
Command: rly=0
After: 00001 (Device says: outlet 1 is now ON)
Reality: Physical outlet 1 turned OFF
Result: ⚠️ INVERTED - Device reports opposite of reality
Before: 00000 (Device says: all OFF)
Command: rly=4
After: 10000 (Device says: outlet 5 is now ON)
Reality: Physical outlet 5 turned OFF
Result: ⚠️ INVERTED - Device reports opposite of reality
- Are outlets 2, 3, 4 also inverted? Need to test with loads connected
- Is this a firmware bug? Device might have a known issue
- Is this configurable? Web interface might have a setting for "Normally Open" vs "Normally Closed" relay logic
- Does this affect all NP-0501DU units? Or just this one?
- MUST implement logic inversion for outlets 1 and 5
- Cannot trust device status directly
- Need configuration option to disable inversion (for other device models)
- Should detect inverted logic automatically
- Warn user if detected
- Provide
--invert-outletsflag for affected outlets
class OutletConfig:
outlet_number: int
inverted_logic: bool = False # Set True for outlets 1, 5 on NP-0501DU
def get_actual_state(reported_state: bool, inverted: bool) -> bool:
"""Get actual physical state accounting for inverted logic."""
return not reported_state if inverted else reported_state- ✅ COMPLETED: Test outlets 1 and 5
- ⏳ TODO: Connect loads to outlets 2, 3, 4 and test for inverted logic
- ⏳ TODO: Check device web interface for relay configuration settings
- ⏳ TODO: Contact Synaccess support about firmware version and known issues
- ⏳ TODO: Document whether this affects reboot commands (
rb=X) - ⏳ TODO: Build software with configurable inversion per outlet
- Device reports OFF when outlet is ON
- Device reports ON when outlet is OFF
- This could lead to:
- Equipment damage (thinking power is off when it's on)
- Safety hazards (attempting maintenance on "powered off" equipment)
- Data loss (unexpected power cycles)
If possible:
- Use outlets 2, 3, 4 for critical loads
- Keep outlets 1 and 5 for non-critical devices
- Or implement software inversion (recommended)
Last Updated: 2025-10-08 Status: Partially tested - outlets 2, 3, 4 still need verification