通用公共交通数据规范 (GTFS)

gtfs integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more] 将提供您公共交通站/停靠点的下一个发车时间和相关数据。数据来自您选择的公共交通管理机构,并以 通用公共交通数据规范 格式化,通常称为 GTFS。

您需要找到一个有效的 GTFS 数据集,通常可以通过搜索互联网找到。大多数公共交通管理机构在某处都有 GTFS 数据,谷歌要求公共交通管理机构提供数据,以便它们希望出现在谷歌地图上。您也可以在 Mobility Database 找到数据。

以下是一些示例:

您需要下载一个 GTFS ZIP 文件,并将其放入您配置目录中名为 gtfs 的文件夹中。为了便于使用,建议您将文件重命名为仅包含机构/数据源名称(即, bart.zip 而不是 google_transit_20160328_v1.zip)。您也可以解压并将文件夹放入 gtfs 文件夹中。

数据将被转换为可查询的格式,并以 SQLite3 数据库的形式与源数据一起保存。传感器将在每次启动时检查此 SQLite3 数据是否存在,如果未找到,则会重新导入 ZIP/文件夹。

要更新数据,请删除 SQLite3 文件并重新启动 Home Assistant。

要找到您的停靠点 ID,请打开 ZIP 文件/解压文件夹中的 stops.txt 文件。ID 的格式对每个交通机构来说不同,但在每行的第一“列”(意思是在第一个逗号之前的字符串)中。

传感器属性将包含与特定行程相关的所有信息,例如机构信息、起点和终点停靠点信息、起点和终点的停靠时间以及路线信息。

根据使用的交通机构,您可能会遇到不同的情况。大多数机构遵循 GTFS 格式,但有些机构会做一些奇怪的事情,比如添加额外的列或使用不同的数据格式。如果您有任何数据特定的问题,请向 PyGTFS 项目报告,这是 GTFS 传感器用于解析数据的工具。

请注意:这是一个 静态 数据源。目前,由于在 Python 3 中解析协议缓冲格式的问题,此传感器没有 GTFS 实时支持。一旦这些问题解决,将加入实时支持。一旦添加,传感器将在需要时检查任何延误和通知,并在传感器中报告。

要启用 GTFS integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [Learn more],您需要将其添加到您的 configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件中。 在更改了configuration.yamlconfiguration.yaml 文件是 Home Assistant 的主要配置文件。它列出了要加载的集成及其特定配置。在某些情况下,需要直接在 configuration.yaml 文件中手动编辑配置。大多数集成可以在 UI 中配置。 [Learn more] 文件后,重启 Home Assistant 以应用更改。 该集成现在显示在集成页面的 设置 > 设备与服务 下。其实体在集成卡片上以及实体标签上列出。

# 示例 configuration.yaml 条目
sensor:
  - platform: gtfs
    origin: 停靠点_ID
    destination: 停靠点_ID
    data: 数据源

Configuration Variables

origin string Required

您起始站的停靠点 ID。

destination string Required

您目的地站的停靠点 ID。

data string Required

包含 GTFS 数据的 ZIP 文件或文件夹的名称。它必须位于您配置目录的 gtfs 文件夹中。

name string (Optional, default: GTFS 传感器)

前端使用的名称。

offset integer | time (Optional, default: 0)

要查找的最小延迟。如果发车时间小于 offset,则将被忽略。可以以秒(integer),或使用以下时间格式之一设置值:offset: 'HH:MM:SS'offset: 'HH:MM'

include_tomorrow boolean (Optional, default: false)

如果今天没有更多的发车安排,还要搜索明天的时刻表。