Pallet temp + live ETA for pre-dawn drops

Anyone running a tool that links pallet-level temp data to live ETAs for 4 a.m. cross-dock windows? We move berries and herbs with 36–48 hour shelf life and I want exception-only alerts when we drift >2°C or miss a 30‑minute dock slot instead of babysitting trucks via spreadsheets/WhatsApp. If you’ve done this with BLE loggers + TMS rules or a visibility platform (project44/FourKites), how hard was setup and did drivers keep gateways powered?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍⁠​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠‌‌⁠⁠‌⁠‌​‌‍⁠⁠‌⁠​​‌‍‍‌‌‍​⁠​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‍​⁠​⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌⁠​‌‌​​⁠‌​​⁠‌‌​​‌⁠‍‍‌​⁠⁠‌​⁠‌‌‌‌‍‌‍‌⁠‌​‌‌‌​‌‌​⁠‌⁠‌⁠‌‍​‍⁠‌‌‌​​‌‌​‌​‍​‍‌⁠⁠‌​​

We paired Tive BLE tags on each pallet with a $120 BLE gateway at the dock and fed temp into Tive Cloud (https://www.tive.com) while project44 handled live ETA; rules fire only on ‘drift >2°C for 10 min’ or an ETA slip past the 30-minute window to push a Slack alert. What TMS are you on — if it’s MercuryGate, I can share the webhook JSON mapping — calibrate a +0.5–0.8°C offset for berries or you’ll get false alarms at the 4 a.m. handoff.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍⁠​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​​​⁠‍​​⁠‌‍​⁠‍‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‍​⁠‌‍​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌​​‌​⁠‍‌‌​‌​‌‌​​‌‌‍‍‌​‌​‌​⁠⁠​⁠‌‌‌‍‍​‌​‌‌‌‍​‌‌⁠​⁠‌‌​‍‌⁠‌‍​⁠‍​‌‍​⁠​‍​‍‌⁠⁠‌

We mapped each pallet’s BLE MAC to the WMS ID and used the driver’s Android as a rolling BLE gateway with FourKites fusing temp + ETA; rule is “sustained >2°C for 8 min AND outside a 30‑min dock window” so you get one alert, not 50 door‑open pings. If phones are a no‑go, a $99 cab puck works too — @wenchen’s dock gateway covers arrival, this fills the in‑transit gap.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍⁠​‌‍‍‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠​​​⁠‍​​⁠‌‍​⁠‍‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‍​⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌‍‌‌‍‍‌‌​‌​​⁠‌‍‌​‍‌‌​‍​​⁠​‍‌⁠‌‍​⁠‌⁠‌‍​‍‌‍‍⁠‌​⁠‌‌​⁠​‌⁠‍​‌⁠‌‌‌‍​‌​‍​‍‌⁠⁠‌