AllXiaomiDeviceCodes is a tool that fetches and parses device data from mirom.ezbox.idv.tw, presenting it in two convenient formats:
- 📦 A console app that displays a table for quick device code name lookup.
- 🌐 A web API that serves device data in JSON format.
Inspired by the awesome work at XiaomiFirmwareUpdater.
-
🖥️ Console App (Replit):
https://replit.com/@chebishev/AllXiaomiDeviceCodes -
🔌 Web API (Render, may take a few seconds to start):
https://allxiaomidevicecodes.onrender.com/docs
- Fetches and parses Xiaomi device codes weekly via GitHub Actions (every Sunday).
- Clean, structured output for both CLI and API use.
- OpenAPI/Swagger documentation available for the API.
This project uses a scheduled GitHub Action to automate data updates:
- Frequency: Weekly, every Sunday
- Purpose: Refresh device data from the source sitemap automatically
📁 AllXiaomiDeviceCodes/
├── codenames_as_keys.json
├── fix_model_names.py # unifies, adds and corrects market names
├── json_data.py # writes dictionaries to json or converts json to dictionary
├── main.py # FastAPI web app
├── make_jsons_from_xml.py # generates codenames_as_keys.json and market_names_as_keys.json
├── market_names_as_keys.json
├── print_table_from_json.py # cli version
├── scraper.py # returns market name and codename from given url
└── .github/ # GitHub Actions workflow
📌 Notes
The API is hosted on Render and may require a few seconds to spin up if inactive.
The project does not store personal data or require authentication.
---
🤝 Credits
Source of inspiration: XiaomiFirmwareUpdater
Data source: mirom.ezbox.idv.tw
---