Releases: Master13011/SNCF-API-HA
Releases · Master13011/SNCF-API-HA
SNCF-API-HA V1.0.4
📦 Changelog
✨ Nouvelles fonctionnalités
- Utilisation du
device_class: timestampsur les horaires - Ajout du numéro du train
🧼 Améliorations
- Réorganisation du code (
get_train_num,get_duration,format_time, etc.)
🐛 Corrections
- Problème de traduction dans le formulaire d’options corrigé (
time_start,time_end) - Résolution de conflits d’
unique_idpour les entités enfants - Meilleure gestion des erreurs API (retards, données manquantes)
What's Changed
- Réorganisation du code + add num train by @Master13011 in #5
Full Changelog: 1.0.3...1.0.4
SNCF-API-HA V1.0.3
Changelog
- Les entités sont maintenant correctement associées à un appareil Home Assistant via la propriété device_info
Full Changelog: 1.0.2...1.0.3
SNCF-API-HA V1.0.2
SNCF-API-HA V1.0.1
🆕 Changelog – Ajout du SncfUpdateCoordinator
✨ Nouveauté
- Ajout du fichier
coordinator.py:- Création de la classe
SncfUpdateCoordinator, héritée deDataUpdateCoordinator. - Centralisation de la logique de récupération des trajets SNCF via l’API.
- Construction dynamique du paramètre
datetimeen fonction de la plage horaire définie par l’utilisateur. - Méthode
_async_update_data()pour interroger l’APIfetch_journeys()et retourner les trajets à jour. - Gestion robuste des erreurs avec
UpdateFaileden cas d’échec ou de réponse vide.
- Création de la classe
✅ Avantages
- Meilleure séparation des responsabilités.
- Réduction de la complexité dans les entités
sensor. - Mise à jour plus fiable et centralisée des données.
- Respect des bonnes pratiques Home Assistant pour la gestion des données asynchrones.
📦 Fichiers impactés
__init__.py: instanciation duSncfUpdateCoordinator.sensor.py: récupération des données via le coordinator.coordinator.py: nouveau fichier ajouté.
SNCF-API-HA V1.0.0
🛤️ SNCF Train Sensor - Release Notes v1.0.0
🚀 Nouveautés
-
Intégration d’un sensor principal (
SncfJourneySensor) qui fournit :- Le nombre de trajets disponibles entre deux gares SNCF.
- Les horaires de départ/arrivée.
- Les retards estimés pour chaque train.
- Un résumé détaillé des prochains trains.
-
Création de 3 entités secondaires (
SncfTrainSensor) représentant les 3 prochains trains disponibles :- Chaque capteur expose l’horaire de départ/arrivée, le retard, la direction, le mode de transport, etc.
-
Configuration via UI (config_flow) :
- Ajout d’une interface de configuration permettant de rechercher les gares par nom.
- Sélection de la gare de départ, d’arrivée, créneaux horaires, etc.
-
Appels API SNCF via une couche dédiée (
SncfApiClient) :- Recherche de trajets (
/journeys) - Recherche de départs (
/departures) - Recherche de stations (
/places)
- Recherche de trajets (
🧠 Comportements intelligents
-
Fréquence de mise à jour dynamique :
- Mise à jour rapide dans le créneau horaire défini (ex: 07:00 - 10:00).
- Rythme réduit en dehors des périodes d'intérêt.
-
Gestion des erreurs :
- Affichage de l'état
unavailableen cas d’erreur réseau ou quota API dépassé. - Logs détaillés pour faciliter le debug.
- Affichage de l'état
🛠️ Détails techniques
- Utilisation des constantes Home Assistant (
SensorEntity,async_call_later, etc.). - Support complet de
async_setup_entry/async_unload_entry. - Gestion complète des attributs supplémentaires via
extra_state_attributes.