{
  "matrix_version": "1.0",
  "checked_date": "2026-10-29",
  "snapshot_notice": "固定版本选型快照，不代表最新版、部署推荐或产品排名。仅两项开源平台核对到版本源码；ZedIoT按项目冻结交付清单，不能用同一“已验证”标签替代。",
  "dimensions": [
    "原生存储",
    "外部集成与功能边界",
    "核心许可与部署",
    "决定前仍需取得的证据"
  ],
  "platforms": [
    {
      "id": "thingsboard-ce",
      "name": "ThingsBoard Community Edition",
      "version": "v4.3.1.8",
      "commit": "ebbfc6789b81a4e04cae2711208130fb2841b31f",
      "evidence_status": "官方版本资料已核验",
      "release_url": "https://github.com/thingsboard/thingsboard/releases/tag/v4.3.1.8",
      "cells": [
        {
          "summary": "实体连接配置为PostgreSQL；时序默认sql。该版本配置还列cassandra、timescale，并有Timescale实现，不能统一写成InfluxDB。",
          "source_ids": [
            "T1",
            "T2"
          ],
          "boundary": "配置与实现存在，不代表所有组合已完成生产支持、迁移或目标环境验证。"
        },
        {
          "summary": "数据采集、设备管理、看板和规则能力属于平台范围；外部数据库、业务API与设备适配应单独列连接器和实施责任。",
          "source_ids": [
            "T4",
            "T1"
          ],
          "boundary": "本表仅比较CE核心；不把PE、附加产品或自定义连接器的功能自动算入CE。"
        },
        {
          "summary": "所核核心仓库为Apache-2.0；可按所选版本评估自托管部署，数据库、消息队列与其他依赖要分别锁定。",
          "source_ids": [
            "T3",
            "T4"
          ],
          "boundary": "许可结论限此仓库版本；插件/依赖另核对。私有化部署也需要备份、升级与运行责任。"
        },
        {
          "summary": "确定sql/cassandra/timescale实际模式与依赖版本，提交样机报文接入、权限隔离、数据留存/恢复和升级回滚回执。",
          "source_ids": [
            "T1",
            "T2"
          ],
          "boundary": "本轮只核文档和源码，没有做该版本设备兼容或容量实测。"
        }
      ]
    },
    {
      "id": "openremote",
      "name": "OpenRemote",
      "version": "1.33.0",
      "commit": "9f9cf8ddcdf92d6b3d8553ee689a014a5988ca1e",
      "evidence_status": "官方版本资料已核验",
      "release_url": "https://github.com/openremote/core/releases/tag/1.33.0",
      "cells": [
        {
          "summary": "该版本说明将持久数据存入PostgreSQL；Compose包含独立PostgreSQL服务与数据卷。",
          "source_ids": [
            "O1",
            "O2"
          ],
          "boundary": "不能据“时序数据”直接改写成原生InfluxDB；数据结构、留存和容量需项目验证。"
        },
        {
          "summary": "资产模型、规则、Agent和接口用于设备/系统集成；使用已有Agent仍需核对设备字段、读写行为与错误处理。",
          "source_ids": [
            "O2"
          ],
          "boundary": "存在协议接口不等于目标设备已经兼容，也不代表业务系统无需开发即可接通。"
        },
        {
          "summary": "核心声明为AGPL-3.0-or-later，文件另含第三方通知。该版本Compose包含manager、proxy、PostgreSQL、Keycloak。",
          "source_ids": [
            "O3",
            "O1"
          ],
          "boundary": "Compose仍有latest/latest-slim默认值；只锁仓库tag不足以复现部署，须再锁各镜像版本与digest。许可适用范围需按组件确认。"
        },
        {
          "summary": "取得组件镜像清单、Agent映射、数据卷恢复测试、身份/角色配置和交付授权确认，再验证内网与升级回退路径。",
          "source_ids": [
            "O1",
            "O2",
            "O3"
          ],
          "boundary": "本轮未运行OpenRemote栈，也没有取得目标现场的兼容、性能或恢复回执。"
        }
      ]
    },
    {
      "id": "zediot-delivery",
      "name": "ZedIoT 项目交付",
      "version": "按项目清单冻结",
      "evidence_status": "项目交付基线待确认",
      "cells": [
        {
          "summary": "数据库种类、版本、数据模型和保留策略按项目架构与BOM核对，本页不声明统一的软件版本或数据库组合。",
          "source_ids": [
            "Z1"
          ],
          "boundary": "不能从其他开源平台的存储表推断ZedIoT项目采用相同技术栈。"
        },
        {
          "summary": "区分可复用的平台能力、设备接入验证和需定制的业务接口；用实际点表、脱敏报文与样机界定范围。",
          "source_ids": [
            "Z1"
          ],
          "boundary": "协议名称、演示界面或类似案例均不能替代本项目的兼容回执。"
        },
        {
          "summary": "现有交付范围可评估公有云、企业私有化与边缘协同；源码、商用授权、第三方依赖与运维责任按书面清单确定。",
          "source_ids": [
            "Z1"
          ],
          "boundary": "不在本表将项目交付标为开源许可证，也不预设源码或所有定制能力均已包含。"
        },
        {
          "summary": "取得交付版本、镜像digest、组件/许可清单、试点设备、验收方法、升级回滚与支持责任，再确定实施范围。",
          "source_ids": [
            "Z1"
          ],
          "boundary": "未取得证据的项目保持待确认；不承诺固定工期、容量、价格或已完成实测。"
        }
      ]
    }
  ],
  "sources": [
    {
      "id": "T1",
      "label": "ThingsBoard 版本配置",
      "url": "https://raw.githubusercontent.com/thingsboard/thingsboard/ebbfc6789b81a4e04cae2711208130fb2841b31f/application/src/main/resources/thingsboard.yml",
      "source_type": "固定版本源码",
      "commit": "ebbfc6789b81a4e04cae2711208130fb2841b31f",
      "sha256": "5d60b057c4b0a0d428600ec8fe17da168032585b4a42b673bf5753f2accfb493",
      "checked_date": "2026-10-29",
      "obtained_scope": "核对 DATABASE_TS_TYPE、默认SQL和PostgreSQL连接配置"
    },
    {
      "id": "T2",
      "label": "ThingsBoard Timescale 实现",
      "url": "https://raw.githubusercontent.com/thingsboard/thingsboard/ebbfc6789b81a4e04cae2711208130fb2841b31f/dao/src/main/java/org/thingsboard/server/dao/sqlts/timescale/TimescaleTimeseriesDao.java",
      "source_type": "固定版本源码",
      "commit": "ebbfc6789b81a4e04cae2711208130fb2841b31f",
      "sha256": "adaa6d37d27371db2c9c735e09553d8784e79dfc3f6611034f19fbd4360ed112",
      "checked_date": "2026-10-29",
      "obtained_scope": "读取对应版本Timescale存储实现；不代表本轮已部署验证"
    },
    {
      "id": "T3",
      "label": "ThingsBoard 核心许可证",
      "url": "https://raw.githubusercontent.com/thingsboard/thingsboard/ebbfc6789b81a4e04cae2711208130fb2841b31f/LICENSE",
      "source_type": "固定版本源码",
      "commit": "ebbfc6789b81a4e04cae2711208130fb2841b31f",
      "sha256": "c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7",
      "checked_date": "2026-10-29",
      "obtained_scope": "核对核心仓库 Apache-2.0；不替代插件和依赖许可清单"
    },
    {
      "id": "T4",
      "label": "ThingsBoard 版本说明",
      "url": "https://raw.githubusercontent.com/thingsboard/thingsboard/ebbfc6789b81a4e04cae2711208130fb2841b31f/README.md",
      "source_type": "固定版本源码",
      "commit": "ebbfc6789b81a4e04cae2711208130fb2841b31f",
      "sha256": "0ff89e6fd3c23475d97a251d7bc4f9f097dafa5ffc378ef95af8f98aa059256f",
      "checked_date": "2026-10-29",
      "obtained_scope": "核对采集、可视化、设备管理及第三方集成的项目范围"
    },
    {
      "id": "O1",
      "label": "OpenRemote 部署配置",
      "url": "https://raw.githubusercontent.com/openremote/core/9f9cf8ddcdf92d6b3d8553ee689a014a5988ca1e/docker-compose.yml",
      "source_type": "固定版本源码",
      "commit": "9f9cf8ddcdf92d6b3d8553ee689a014a5988ca1e",
      "sha256": "af6b3e785c8edcaf60493947c0bd1ef7ffc8b4b0f817a6508bf1e0ff16e867bc",
      "checked_date": "2026-10-29",
      "obtained_scope": "核对manager、proxy、PostgreSQL、Keycloak及默认镜像变量"
    },
    {
      "id": "O2",
      "label": "OpenRemote 项目说明",
      "url": "https://raw.githubusercontent.com/openremote/core/9f9cf8ddcdf92d6b3d8553ee689a014a5988ca1e/README.md",
      "source_type": "固定版本源码",
      "commit": "9f9cf8ddcdf92d6b3d8553ee689a014a5988ca1e",
      "sha256": "4075247a452d48e42e49c8ab795dd546cf94e67674ac18bf7a30311ed0432268",
      "checked_date": "2026-10-29",
      "obtained_scope": "核对PostgreSQL持久化、Docker部署和Agent集成职责"
    },
    {
      "id": "O3",
      "label": "OpenRemote 核心许可证",
      "url": "https://raw.githubusercontent.com/openremote/core/9f9cf8ddcdf92d6b3d8553ee689a014a5988ca1e/LICENSE.txt",
      "source_type": "固定版本源码",
      "commit": "9f9cf8ddcdf92d6b3d8553ee689a014a5988ca1e",
      "sha256": "c6b373c3f20f549fae7a6be8ef82d8e4a380c54d4a010a6b4fc2fcaebaa6d48e",
      "checked_date": "2026-10-29",
      "obtained_scope": "核对文件首部的AGPL-3.0-or-later及附带第三方通知；不概括所有依赖为同一许可"
    },
    {
      "id": "Z1",
      "label": "ZedIoT 现有交付范围",
      "url": "/product/zediot-platform/#platform-specs",
      "source_type": "现有产品交付说明",
      "checked_date": "2026-10-29",
      "obtained_scope": "只说明现有公开交付范围；没有公开统一的软件版本或本轮兼容/容量实测回执"
    }
  ],
  "acceptance_checks": [
    {
      "item": "版本与镜像",
      "evidence": "仓库tag/commit；manager、proxy、数据库、身份服务等实际镜像版本与digest",
      "method": "在目标环境核对运行镜像，不只检查下载的Compose文件"
    },
    {
      "item": "存储模式",
      "evidence": "sql/cassandra/timescale等实际模式；数据库及扩展版本；留存策略",
      "method": "采集、查询与过期策略验证；原生存储和外部写入分别记录"
    },
    {
      "item": "设备与接口",
      "evidence": "点表、协议版本、脱敏报文、样机、外部API与接口负责人",
      "method": "验证读写、异常码、重试、断网缓存与补传；协议同名不视为已兼容"
    },
    {
      "item": "许可与交付范围",
      "evidence": "核心/插件/依赖许可清单；源码、修改、对外服务与商用授权边界",
      "method": "按实际组件和交付方式逐项确认，不用“开源”替代授权核对"
    },
    {
      "item": "部署与恢复",
      "evidence": "网络/证书、角色与租户、备份、恢复演练、升级与回滚步骤",
      "method": "以目标环境的恢复、越权拒绝与升级回退回执验收"
    },
    {
      "item": "容量与运维责任",
      "evidence": "设备数、上报周期、数据点与消息大小、留存周期、告警与支持责任",
      "method": "在约定负载与目标环境中验证，不套用厂商宣传吞吐数字"
    }
  ],
  "next_step": "下载版本冻结清单，填写已知项、将未知项保留待确认，再粘贴脱敏摘要到平台咨询表单；表单不直接上传CSV。"
}
