📦 DeliveryBox
Disconnected
Front · Delivery
Rear · Collection
Courier Access PIN · auto-rotates after each use
----
🔐 Confirmation Codes / OTPs
Spoken at door-close when delivery weight doesn't match any configured slot.
2. Configure Delivery Confirmation Codes · 5 slots
Set OTP + courier + expected weight per delivery. Box auto-announces the matching code when that weight is placed inside.
Delivery 1
Delivery 2
Delivery 3
Delivery 4
Delivery 5
Spoken at door-close when pickup weight doesn't match any configured slot.
4. Configure Pickup Confirmation Codes · 2 slots
Place the return/exchange item in the box. When the courier removes it, the box auto-announces the matching OTP to confirm successful pickup.
Pickup 1
Pickup 2
● Idle
Arms a collection cycle. The box welcomes, waits for the chosen door to open, then announces parcels collected after close.
Gate —
Live Box Status
Keypad Entry
- - - -
Enter PIN on box
● Connecting…
Live Weight
-- g -- kg
⏳ measuring…
Front · Delivery
Rear · Collection
0 5 kg --
Last Delivery
-- g -- kg
Detected
Box Contents
Box is empty.
Offline OTP Codes
Single-use · work without internet · tap to copy
Loading… (if empty, click Refresh)
📋 Activity Log · since last collection
Deliveries
No deliveries recorded this session.
Pickups
No pickups recorded this session.
⚙ Settings & Advanced (saved in this browser)
Broker:
📶 WiFi Networks
Connected to:

Up to 5 networks saved. Device tries them in order on boot/reconnect.

📡 Device Access — AP Mode

Start AP mode to add a new network from another device. The box stays connected to its current network while AP is active.

MQTT Connection

Tip: MQTT works cross-origin. HTTP fallback requires device CORS headers.

Controls — LED & Relays
State:
-- g
Raw: -- · Age: --
Weight Sensor Calibration

Two-step calibration: first tare with nothing on the scale, then place a known weight and calibrate.

Current Reading
-- g
Scale: --
Offset: --

Remove all weight from the scale, then click Tare.

Place a known weight on the scale, enter its value in grams, then click Calibrate.

Keypad Log
Input: (empty) age: -- ms

Requires Device HTTP Base + CORS on device.

Session
🔍 Diagnostic — Last door-close judgment
Shows what the device decided at the last door close. Useful only for debugging when OTPs don't speak as expected.
Last delta:
Decision:
OTP spoken:
Delivery manual in memory:
Pickup manual in memory: