VOUS ÊTES ICI: Accueil » Blog » Domotique » Eedomus » La box eedomus reprend le train
Eedomus

La box eedomus reprend le train

Un titre qui sonne comme du déjà vu? et oui ce n’est pas faux. C’était l’année dernière et je vous avais proposé ce script afin de récupérer les horaires de train. Depuis, la SNCF a fait un peut le ménage dans son code et  il n’est plus possible d’utiliser ce script.

Je me suis donc penché de plus près sur ce que proposait la SNCF et j’ai trouvé une api https://data.sncf.com/api que nous allons utiliser pour récupérer nos horaires de train. (ouf je ne vais plus être en retard au taf 🙂 )

J’ai développé ce script en PHP pour un Raspberry mais bien sur, on peut le modifier pour le faire fonctionner directement sur la box Eedomus.

La mise en oeuvre des horaires de train dans eedomus

Dans un premier temps, il faut obtenir une clé d’accès sur le site de la SNCF. https://data.sncf.com/api/fr/register

sncfapi

Vous allez rapidement recevoir un mail avec la clé d’accès nécessaire pour la suite.

sncfmail

Téléchargement du script depuis github

Télécharger depuis Github

 

Création d’un capteur pour récupérer les informations

Création d’un état dans la box Eedomus.

Récupérer le code API pour la suite

sncfeedomus

Modification du script 

Changer les valeurs suivantes avec vos propres données.

Récupération des coordonnées des villes

Voici la partie la moins simple du script car il faut exécuter une requête et lire le code JSON renvoyé.

Ensuite il faudra changer dans le scripts les deux valeurs trouvées.

Cliquer sur le lien suivant en indiquant bien sur la ville désirée. Dans mon exemple, je prendrais LYON.

https://api.sncf.com/v1/coverage/sncf/places?q=LYON

Authentifier vous avec le code API.

sncfconnect

On obtient un superbe fichier JSON, pas vraiment lisible pour tout le monde.

Faire une recherche sur le mot ID et vous devriez retrouver le code associé à votre gare.

Il commence par admin:

sncfrecherche

Faire le même travail pour la ville d’arrivée et renseignez ces deux codes dans le script.

Utilisation du script

Il n’y a qu’un paramètre à renseigner dans la requête, c’est le sens du trajet entre les deux villes.

trajet=a  –> Trajet entre la ville de départ et la ville d’arrivée (Trajet allé).

trajet=r –> Trajet entre la ville d’arrivée et la ville de départ (Trajet retour)

Depuis votre navigateur , (remplacer XX par l’adresse IP de votre Raspberry)

http://192.168.0.XX/eedomus/scripts/gare2.php?trajet=a

ou

http://192.168.0.XX/eedomus/scripts/gare2.php?trajet=r

sncflog

Depuis l’Eedomus:

Créer un Actionner HTTP

sncfact sncfval

Ensuite il ne reste plus qu’à planifier l’exécution de ces requêtes.

Résultat

Trafic normal

snfcresult

Trafic avec un retard de 15 mn

sncfretard

 

 

Pour aller plus loin

Moi, je préfère laisser la planification au Raspberry.

Rien de bien compliqué. Comme pour la version navigateur, il existe deux lignes de commande,

une pour l’aller

et une pour le retour

Se connecter en SSH au rapsberry.

Exécuter la commande

Ajouter les lignes suivantes pour une programmation toutes les 10 minutes de 7h à 9h et de 16h à 18h.

sncfrasp

 

Bonus

Voici deux icônes pour faire joli.

 

Trains Trajet2

 

Abonnez vous
NE MANQUEZ
PLUS RIEN
Recevez les prochains
articles par mail
JE M' ABONNE
Abonnez vous
NE MANQUEZ
PLUS RIEN
Recevez les prochains
articles par mail
JE M' ABONNE
close-link
NOEL 2 DOMO-BLOG

Venez Jouer
avec nous !

Cette année Noel sera connecté
JOUER
#Noel2DOmoBlog
close-link