|
| 1 | +--- |
| 2 | +title: Data Grand Lyon |
| 3 | +description: Instructions on how to integrate Grand Lyon open data into Home Assistant. |
| 4 | +ha_release: 2026.5 |
| 5 | +ha_category: |
| 6 | + - Sensor |
| 7 | + - Transport |
| 8 | +ha_iot_class: Cloud Polling |
| 9 | +ha_codeowners: |
| 10 | + - '@Crocmagnon' |
| 11 | +ha_domain: data_grandlyon |
| 12 | +ha_config_flow: true |
| 13 | +ha_platforms: |
| 14 | + - sensor |
| 15 | +ha_integration_type: service |
| 16 | +ha_quality_scale: bronze |
| 17 | +--- |
| 18 | + |
| 19 | +The **Data Grand Lyon** {% term integration %} lets you monitor data from the [Grand Lyon open data platform](https://data.grandlyon.com/). |
| 20 | + |
| 21 | +With this integration, you can: |
| 22 | + |
| 23 | +- Track upcoming departure times at transit stops, including whether times are estimated or theoretical. |
| 24 | +- Monitor Vélo'v bike-sharing station availability, with a breakdown of electrical bikes, mechanical bikes and stands. |
| 25 | + |
| 26 | +## Prerequisites |
| 27 | + |
| 28 | +This integration uses data from the [Grand Lyon open data platform](https://data.grandlyon.com/). |
| 29 | + |
| 30 | +- **For transit stop monitoring**: You need an account on [data.grandlyon.com](https://data.grandlyon.com/). Sign up for a free account if you don't have one. Then, request access to the [dataset](https://data.grandlyon.com/portail/fr/jeux-de-donnees/prochains-passages-reseau-transports-commun-lyonnais-rhonexpress-disponibilites-temps-reel/info). |
| 31 | +- **For Vélo'v station monitoring**: No account is required. |
| 32 | + |
| 33 | +You also need to know the stop IDs or station IDs you want to monitor. You can find these on the [Grand Lyon data portal](https://data.grandlyon.com/). |
| 34 | + |
| 35 | +{% include integrations/config_flow.md %} |
| 36 | + |
| 37 | +{% configuration_basic %} |
| 38 | +Username: |
| 39 | + description: "Your username on data.grandlyon.com. Required if you want to monitor transit stops." |
| 40 | + required: inclusive |
| 41 | + type: string |
| 42 | +Password: |
| 43 | + description: "Your password on data.grandlyon.com. Required if you want to monitor transit stops." |
| 44 | + required: inclusive |
| 45 | + type: string |
| 46 | +{% endconfiguration_basic %} |
| 47 | + |
| 48 | +After setting up the integration, you can add transit stops and Vélo'v stations as sub-entries from the integration's configuration page. |
| 49 | + |
| 50 | +### Adding a transit stop |
| 51 | + |
| 52 | +1. Go to {% my integrations title="**Settings** > **Devices & services**" %} and select the **Data Grand Lyon** integration. |
| 53 | +2. Select **Add transit stop**. |
| 54 | +3. Enter the following information: |
| 55 | + |
| 56 | +{% configuration_basic %} |
| 57 | +Line: |
| 58 | + description: "The transit line identifier (for example, `C1` or `T2`)." |
| 59 | + required: true |
| 60 | + type: string |
| 61 | +Stop ID: |
| 62 | + description: "The stop identifier. You can find the stop identifier on the [Grand Lyon open data platform](https://data.grandlyon.com/portail/fr/jeux-de-donnees/prochains-passages-reseau-transports-commun-lyonnais-rhonexpress-disponibilites-temps-reel/info). Zoom on the map and click on a stop. The ID will be displayed on the panel on the right, at the bottom. The field is called `id`." |
| 63 | + required: true |
| 64 | + type: integer |
| 65 | +Name: |
| 66 | + description: "An optional custom name for this stop. If left empty, a default name is generated from the line and stop ID." |
| 67 | + required: false |
| 68 | + type: string |
| 69 | +{% endconfiguration_basic %} |
| 70 | + |
| 71 | +### Adding a Vélo'v station |
| 72 | + |
| 73 | +1. Go to {% my integrations title="**Settings** > **Devices & services**" %} and select the **Data Grand Lyon** integration. |
| 74 | +2. Select **Add Vélo'v station**. |
| 75 | +3. Enter the following information: |
| 76 | + |
| 77 | +{% configuration_basic %} |
| 78 | +Station ID: |
| 79 | + description: "The velo'v station ID. You can find this on the [Grand Lyon open data platform](https://data.grandlyon.com/portail/fr/jeux-de-donnees/stations-velo-v-metropole-lyon/donnees). Zoom on the map and click on a station. The ID will be displayed on the panel on the right, at the top. The field is called `idstation`." |
| 80 | + required: true |
| 81 | + type: integer |
| 82 | +{% endconfiguration_basic %} |
| 83 | + |
| 84 | +The station name is automatically retrieved from the API. |
| 85 | + |
| 86 | +## Supported functionality |
| 87 | + |
| 88 | +### Entities |
| 89 | + |
| 90 | +The **Data Grand Lyon** integration provides the following entities. |
| 91 | + |
| 92 | +#### Transit stop sensors |
| 93 | + |
| 94 | +For each transit stop you add, the following sensor entities are created: |
| 95 | + |
| 96 | +- **Next passage 1** |
| 97 | + - **Description**: The departure time of the next vehicle at this stop. |
| 98 | + - **Attributes**: Line, direction, and type (estimated or theoretical). |
| 99 | + |
| 100 | +- **Next passage 2** |
| 101 | + - **Description**: The departure time of the second next vehicle at this stop. |
| 102 | + - **Attributes**: Line, direction, and type (estimated or theoretical). |
| 103 | + |
| 104 | +- **Next passage 3** |
| 105 | + - **Description**: The departure time of the third next vehicle at this stop. |
| 106 | + - **Attributes**: Line, direction, and type (estimated or theoretical). |
| 107 | + |
| 108 | +The passage type indicates whether the time is an _estimated_ arrival (based on real-time vehicle tracking) or a _theoretical_ arrival (based on the scheduled timetable). |
| 109 | + |
| 110 | +#### Vélo'v station sensors |
| 111 | + |
| 112 | +For each Vélo'v station you add, the following sensor entities are created: |
| 113 | + |
| 114 | +- **Available bikes**: The total number of bikes currently available at the station. |
| 115 | +- **Available electrical bikes**: The number of electrical bikes available. |
| 116 | +- **Available mechanical bikes**: The number of mechanical bikes available. |
| 117 | +- **Available bike stands**: The number of free parking stands at the station. |
| 118 | + |
| 119 | +## Data updates |
| 120 | + |
| 121 | +The integration polls data from the TCL API every minute. |
| 122 | + |
| 123 | +## Known limitations |
| 124 | + |
| 125 | +- Transit stop monitoring requires an account on data.grandlyon.com. Without credentials, you can only monitor Vélo'v stations. |
| 126 | +- The integration provides up to three upcoming passages per stop. If fewer passages are available, the remaining sensors show as unavailable. |
| 127 | +- There is no estimated data for subways, only theoretical. |
| 128 | + |
| 129 | +## Troubleshooting |
| 130 | + |
| 131 | +### Can't set up the integration |
| 132 | + |
| 133 | +#### Symptom: "Invalid authentication" |
| 134 | + |
| 135 | +When trying to set up the integration, the form shows the message "Invalid authentication". |
| 136 | + |
| 137 | +##### Description |
| 138 | + |
| 139 | +This means the username or password you entered is incorrect. |
| 140 | + |
| 141 | +##### Resolution |
| 142 | + |
| 143 | +To resolve this issue, try the following steps: |
| 144 | + |
| 145 | +1. Make sure you are using your [data.grandlyon.com](https://data.grandlyon.com/) credentials. |
| 146 | +2. Log in to the Grand Lyon data portal directly to verify your credentials work. |
| 147 | +3. If you forgot your password, reset it on the Grand Lyon data portal. |
| 148 | + |
| 149 | +### Transit stop shows no data |
| 150 | + |
| 151 | +Make sure the line identifier and stop ID are correct. You can verify these on the [Grand Lyon open data platform](https://data.grandlyon.com/portail/fr/jeux-de-donnees/prochains-passages-reseau-transports-commun-lyonnais-rhonexpress-disponibilites-temps-reel/info). |
| 152 | + |
| 153 | +### Vélo'v station not found |
| 154 | + |
| 155 | +Make sure the station ID is correct. You can find station IDs on the [Grand Lyon open data platform](https://data.grandlyon.com/portail/fr/jeux-de-donnees/stations-velo-v-metropole-lyon/donnees). |
| 156 | + |
| 157 | +## Removing the integration |
| 158 | + |
| 159 | +This integration follows standard integration removal. |
| 160 | + |
| 161 | +{% include integrations/remove_device_service.md %} |
0 commit comments