Antennas API
GET /api/rfid/u300/antennas/status
Returns the currently active antenna ports as reported by the live relay.
GET /api/rfid/u300/antennas/status
Authorization: Bearer <token>
x-selected-location: 42Response:
{
"ok": true,
"result": {
"configuredAntennas": [1, 2, 4],
"scanning": true
}
}POST /api/rfid/u300/antennas/mask
Sets which antenna ports are active. Also persists the selection to Supabase so it survives relay restarts.
POST /api/rfid/u300/antennas/mask
Authorization: Bearer <token>
x-selected-location: 42
Content-Type: application/json
{
"antennas": [1, 2]
}Valid port numbers: 1–8. Ports not listed are disabled.
Response:
{
"ok": true,
"baseUrl": "http://192.168.1.100:5000",
"antennas": [1, 2],
"result": { ...relay response... }
}Error — old APK:
{
"ok": false,
"error": "U300 Relay endpoint /antennas/mask is not available. Update the U300 Relay APK to the latest build."
}This 404 error means the relay APK predates antenna mask support. Update the APK.
Persistence behavior
- Mask is applied to the relay immediately
- If
locationIdis resolved andantennas.length > 0, the selection is saved todevice_configasu300.antennas - On the next
POST /ingest/start, the saved mask is reapplied before ingest begins - Sending an empty
antennas: []disables all persistence (relay default is used)