{
  "added_at": "2026-11-08",
  "additional_evidence_urls": [
    "https://github.com/sphings79/Marstek-offline-endpoint/blob/faea0bde5547a181ac20c500efb1f32a86e71343/docs/HOW-WE-FOUND-IT.md"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "Marstek Offline Endpoint recreates the telemetry upload and time replies expected by Marstek Venus E and D batteries on a local server. The author traces firmware conditions behind network resets, implements the response path in a container and records uploaded measurements locally. The author reports that a Venus D on Control firmware v150 stopped its periodic network interruptions during the documented observation.",
  "description_zh": "Marstek Offline Endpoint 在本地服务器重建 Marstek Venus E、D 电池预期的遥测上传和时间响应。作者分析导致网络复位的固件条件，以容器实现响应并在本地记录上传数据；据作者报告，Control 固件 v150 的 Venus D 在所述观察期间停止了周期性断网。",
  "entry_url": "https://awesomerea.org/resources/marstek-offline-endpoint-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/marstek-offline-endpoint-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/sphings79/Marstek-offline-endpoint/blob/faea0bde5547a181ac20c500efb1f32a86e71343/README.md",
  "group": "cases",
  "id": "marstek-offline-endpoint-case",
  "json_url": "https://awesomerea.org/resources/marstek-offline-endpoint-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/marstek-offline-endpoint-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/marstek-offline-endpoint-case/index.md",
  "name": "Marstek Offline Endpoint: reconstructing Venus cloud replies",
  "name_zh": "Marstek Offline Endpoint：重建 Venus 云端响应",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "A Marstek Venus battery, a local Docker host with ports 80 and 443 available, and DNS or traffic redirection to that host.",
    "Set TZ to the device's local time zone for time replies.",
    "The v151 behavior is based on decompiled code and has not been measured on a v151 device.",
    "MIT License."
  ],
  "requirements_zh": [
    "需要 Marstek Venus 电池、开放 80 和 443 端口的本地 Docker 主机，以及指向该主机的 DNS 或流量重定向。",
    "时间响应需要将 TZ 设为设备所在时区。",
    "v151 行为依据反编译代码分析，尚未在 v151 设备上测量。",
    "采用 MIT 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "firmware",
    "protocol"
  ],
  "url": "https://github.com/sphings79/Marstek-offline-endpoint",
  "verification": "source-reviewed",
  "verified_at": "2026-11-08"
}
