The problem
Automated-warehouse occupancy was only visible in the WMS web UI. The system is maintained by an outside vendor, so getting the data through an API meant paying them to build one.
What I built
A Puppeteer bot in Docker that signs in to the WMS, opens the Occupancy Status Inquiry, reads each crane’s figures, and saves both current values and history. It reads the same page people use, so the data reaches the dashboard without changing the vendor’s system or paying for an API.
Key features
- Fills in the terminal setup and signs in automatically
- Dismisses alert pop-ups
- Reads usage plus empty, unavailable and error slots per crane
- Splits raw material from finished goods
- Saves current values and appends history every hour
- Nothing to change or install on the vendor’s WMS
Under the hood
- Finds menu items inside the WMS iframes, then parses page text line by line by crane-name pattern
- Headless only in Docker, and the browser always closes so stuck sessions never pile up