Skip to content

chebishev/AllXiaomiDeviceCodes

Repository files navigation

AllXiaomiDeviceCodes

Update Devices (Cron) Last Commit Repo Size License

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.


🔗 Try It Out


⚙️ Features

  • 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.

🛠️ GitHub Actions

This project uses a scheduled GitHub Action to automate data updates:

  • Frequency: Weekly, every Sunday
  • Purpose: Refresh device data from the source sitemap automatically

📂 Structure

📁 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
---

About

This app gets all codenames from "https://mirom.ezbox.idv.tw/sitemap.xml" and returns them as API with option to search by codename or market name

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages