Intégration domotique Parkings en temps réel, gratuite et open source

Places libres des parkings publics de villes françaises (open data) : Strasbourg, Bordeaux, Nantes…
Les places libres des parkings publics de plusieurs villes françaises, lues en direct sur leurs portails open data : Strasbourg, Bordeaux Métropole, Nantes Métropole, Rennes (parkings Citédia et parcs relais STAR), l'agglomération grenobloise et Grand Poitiers. Sans compte ni clé.
Intégration non officielle, sans lien avec les villes, les métropoles ni les exploitants des parkings. Développée sans parking connecté sous la main : les sources ont été vérifiées en direct le 21/10/2026, mais vos retours sont les bienvenus.
Ce que vous obtenez
- Un appareil par parking que vous ajoutez : places libres, places totales, taux d'occupation, ouvert ou fermé (selon la ville) et âge de la donnée.
- Un widget « Parkings » : vos parkings sur une ligne chacun, en vert, orange ou rouge selon le remplissage.
- Quatre déclencheurs de scène : places libres sous un seuil, places libres revenues au-dessus d'un seuil, parking complet, parking fermé.
- Une action de scène : trouver, parmi vos parkings, celui qui est ouvert et a le plus de places libres, avec une phrase prête à envoyer.
Prérequis
- Gladys Assistant 5.1.0 ou plus récent.
- Un accès à Internet depuis Gladys : les données viennent des portails open data des villes.
- Aucun compte, aucune clé d'API.
Installation
- Dans Gladys, ouvrez Intégrations → Installer depuis GitHub.
- Collez l'adresse
https://github.com/guim31/gladys-parkingset validez. - Ouvrez l'intégration une fois installée : l'onglet Configuration s'affiche.
Configuration
Réglages
| Réglage | Effet |
|---|---|
| Villes | les villes dont les parkings sont proposés dans l'onglet Découverte |
| Rafraîchissement | toutes les 2, 3 (par défaut) ou 5 minutes |
| Langue des noms et messages | langue des noms de fonctionnalités, du widget et des phrases des scènes (français) |
Les noms des fonctionnalités sont figés à l'ajout de l'appareil : choisissez la langue avant.
Ajouter des parkings
- Cochez une ou plusieurs villes, puis enregistrez.
- Ouvrez l'onglet Découverte : tous les parkings de ces villes qui ont un comptage en direct y apparaissent, sous la forme « Ville · Parking ».
- Ajoutez à Gladys ceux qui vous intéressent. Leurs valeurs arrivent aussitôt.
Les parkings ajoutés sont les parkings suivis : ce sont eux que le widget, les déclencheurs et l'action de scène proposent. Un parking ajouté reste lu même si vous décochez ensuite sa ville.
Vérifier
L'action État de l'onglet Configuration liste les villes lues, le nombre de parkings à comptage en direct, l'heure de la dernière lecture, la dernière erreur éventuelle et le nombre de parkings ajoutés.
Appareils
Chaque parking ajouté est un appareil en lecture seule :
| Fonctionnalité | Type Gladys | Valeur |
|---|---|---|
| Places libres | compteur | places disponibles selon l'exploitant, 0 si fermé |
| Places totales | compteur | capacité annoncée |
| Taux d'occupation | niveau (%) | part des places occupées, de 0 à 100 |
| Ouvert | binaire | 1 ouvert, 0 fermé ou réservé aux abonnés (selon la ville, ci-après) |
| Âge de la donnée | durée (minutes) | ancienneté du comptage |
La fonctionnalité Ouvert n'existe que pour les villes qui publient l'état du parking : Strasbourg, Bordeaux, Nantes et Rennes. Grenoble et Poitiers ne le publient pas.
L'âge de la donnée part de l'heure donnée par la ville quand elle la publie (Bordeaux, Nantes, STAR, Grenoble, Poitiers), sinon de la dernière lecture réussie (Strasbourg, Citédia). Il grandit si le portail ne répond plus : au-delà de 30 minutes, la donnée est considérée périmée.
Widget du tableau de bord
Ajoutez le widget Parkings à un tableau de bord. Il affiche une ligne par parking suivi (dix au plus), par exemple « Feydeau — 165 / 490 libres ». Dans le réglage du widget, vous pouvez choisir les parkings affichés ; vide, il les montre tous.
Couleurs : vert jusqu'à 80 % d'occupation, orange de 80 à 95 %, rouge au-delà ou quand l'exploitant annonce le parking complet, gris quand il est fermé, sans comptage ou que la donnée est périmée.
Déclencheurs de scène
| Déclencheur | Se produit quand |
|---|---|
| Places libres sous un seuil | les places libres descendent au seuil choisi (5, 10, 20, 50, 100) |
| Places libres revenues | les places libres remontent au-dessus du seuil choisi |
| Parking complet | plus aucune place, ou complet selon l'exploitant (seuil de Nantes) |
| Parking fermé | le parking ferme (villes qui publient l'état) |
Le champ Parkings filtre les parkings concernés ; vide, n'importe quel parking suivi. Les variables disponibles dans les actions suivantes : parking, ville, places libres, places totales, taux d'occupation.
Les déclencheurs comparent deux lectures successives : rien ne se déclenche au retour d'une panne du portail, ni sur une donnée périmée.
Action de scène
Trouver le parking le plus libre : parmi vos parkings suivis (ou ceux choisis), celui qui est ouvert, a un comptage récent et le plus de places libres. Résultats :
found: 1 si un parking a été trouvé, 0 sinon (à tester avec « Continuer seulement si ») ;sentence: « Feydeau : 165 places libres sur 490. », ou « Aucun parking suivi n'a de place libre en ce moment. » ;parking_name,city,free,total,occupancy.
La phrase suit la langue choisie dans la configuration.
Exemples de scènes
- Avant de partir au centre : déclencheur « Calendrier » ou bouton, action « Trouver le parking
le plus libre », puis « Envoyer un message » avec
sentence. - Parking de la gare presque plein : déclencheur « Places libres sous un seuil » (parking de la gare, seuil 20) un jour de semaine le matin, puis une notification « Partez plus tôt ou prenez le tram ».
- Parc relais rouvert : déclencheur « Places libres revenues » (seuil 50) sur votre parc relais, puis un message.
Données et rafraîchissement
| Ville | Portail | Heure publiée | État ouvert/fermé |
|---|---|---|---|
| Strasbourg | data.strasbourg.eu (Opendatasoft) | non | oui |
| Bordeaux | opendata.bordeaux-metropole.fr (Opendatasoft) | oui | oui |
| Nantes | data.nantesmetropole.fr (Opendatasoft) | oui | oui |
| Rennes (Citédia) | data.rennesmetropole.fr (Opendatasoft) | non | oui |
| Rennes (STAR) | data.explore.star.fr (Opendatasoft) | oui | oui |
| Grenoble | data.mobilites-m.fr (API Mobilités M) | oui | non |
| Poitiers | data.grandpoitiers.fr (Data Fair) | oui | non |
Une requête par ville et par lecture (deux pour Grenoble, dont la liste des parkings n'est relue qu'une fois par jour), quelques dizaines de kilo-octets. À 2 minutes, cela fait 720 requêtes par jour et par ville, bien en dessous des quotas des portails pour un usage anonyme. Seules les villes cochées et celles des parkings ajoutés sont lues.
Bordeaux : seuls les parkings « connectés » (comptage en direct) sont proposés. STAR : les places comptées sont les places ordinaires (hors covoiturage, véhicules électriques et PMR).
Dépannage
- Aucun parking dans Découverte : vérifiez qu'une ville est cochée et enregistrée, puis lancez l'action État. Une erreur « HTTP 503 » ou « timeout » vient du portail de la ville : réessayez plus tard.
- « donnée périmée » dans le widget : le portail ne répond plus ou ne met plus à jour ce parking depuis plus de 30 minutes. La valeur affichée est la dernière connue.
- Un parking manque : il n'a pas de comptage en direct (capteurs absents ou en panne). Il apparaîtra dès que la ville publiera un comptage.
- Pas de fonctionnalité « Ouvert » : la ville ne publie pas l'état de ses parkings (Grenoble, Poitiers).
- Pour plus de détails, passez
LOG_LEVEL=debug: chaque lecture est alors journalisée.
Limites
- Seules les villes listées sont prises en charge. Toulouse ne publie que des données statiques (capacités, tarifs), sans places libres. Lyon publie les places libres des parkings LPA sans leur capacité, Angers aussi ; Montpellier était hors service lors des tests ; Lille et Metz n'ont plus de flux public trouvé : ces villes pourront être ajoutées si leurs données le permettent.
- Les chiffres sont ceux des exploitants, rafraîchis par eux toutes les une à cinq minutes : ils peuvent différer de l'affichage à l'entrée du parking.
- Lecture seule : aucune réservation ni paiement.
Crédits
- Données : Eurométropole de Strasbourg, Bordeaux Métropole, Nantes Métropole, Rennes Métropole et STAR, SMMAG – Mobilités M, Grand Poitiers, sous leurs licences ouvertes respectives (Licence Ouverte / ODbL).
- Même usage que des intégrations Home Assistant communautaires de parkings (aucun code repris).
- Construite à partir du modèle officiel d'intégration.
Paramètres de configuration
Voici les paramètres demandés par Parkings en temps réel dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Fonctionnement | section | Non | Cochez vos villes et enregistrez : leurs parkings à comptage en direct apparaissent dans l'onglet Découverte. Ajoutez ceux qui vous intéressent à Gladys. Sans compte ni clé. |
| Villes | multi_select | Non | Parkings publiés en direct en open data. Autres villes : voir le guide. |
| Rafraîchissement | select | Non | |
| Langue des noms et messages | select | Non | Les noms des fonctionnalités sont figés à l'ajout de l'appareil. |
Comment installer Parkings en temps réel dans Gladys
- Dans Gladys, ouvrez Intégrations : Parkings en temps réel apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/guim31/gladys-parkings:1.0.0), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-parkings.
Parkings en temps réel nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
Parkings en temps réel est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation