Forum eedomus http://forum.eedomus.fr/ |
|
[Store] Horaires de trains http://forum.eedomus.fr/viewtopic.php?f=50&t=10094 |
Page 1 sur 2 Suivant » |
Auteur: | Senateur [ 23 Oct 2020 10:31 ] |
Sujet du message: | [Store] Horaires de trains |
Bonjour à la communauté, J'en appelle à la bonne volonté d'un développeur de plugin d'Eedomus pour transformer un vieux script qui est toujours fonctionnel (avec quelques menues adaptations) et qui permet de récupérer les horaires de TER sur un trajet spécifié. Le problème de ce script, c'est qu'il fait un peu bidouille. Je suis obligé de créer à la main des états actionneur et capteur pour pouvoir lancer le script et récupérer le résultat, créer une règle pour le polling. De plus, le résultat sous forme de texte n'est pas utilisable dans une règle ce qui en limite l'intérêt. J'ai modifié le script pour obtenir le premier retard dans deux capteurs (l'un avec l'horaire initial et l'autre avec le retard en minutes). Mais le résultat n'est pas très propre je trouve. Dans l'idéal, ce serait top d'avoir un plugin avec, en variables: - Clé/token API SCNF - Id de la gare de départ - Id de la gare d'arrivée Et en résultat - Un état avec le libellé de la gare de départ (pas le code de la gare en paramètre) - Un état avec le libellé de la gare d'arrivée (pas le code de la gare en paramètre) - Un état capteur (texte) avec l'heure du prochain départ - Un état capteur (numérique) avec le nombre de minutes de retard le cas échéant / 0 sinon. J'imagine qu'on pourrait utiliser des xpath pour récupérer les données plutôt que le procédé du plugin. Dans l'idéal, le prochain départ devrait se baser sur l'heure de départ mise à jour avec la prise en compte des éventuels retard. Je vous joins l'article de domo-blog qui en parlait. https://www.domo-blog.fr/horaires-de-train-leedomus/ Le script n'est plus disponible mais je l'ai conservé. J'essaye de le mettre en PJ. Si une âme charitable veut bien se pencher sur mon besoin, je peux également fournir mon token SNCF. Mes compétences en programmation s'arrêtent aux bidouilles que j'ai pu apporter au plugin. Merci par avance! |
Auteur: | merguez07 [ 26 Oct 2020 21:19 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
que ça fasse un truc comme ça ? |
Auteur: | Senateur [ 27 Oct 2020 17:25 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
Absolument!! Nickel! Merci beaucoup d'avoir pris le temps de regarder. |
Auteur: | merguez07 [ 27 Oct 2020 20:36 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
ok, alors voilà le script
pour les xpath c'est facile et pour les capteurs il faut mettre en VAR1 le token, en var2 l'ID de la gare de départ et en var3 l'ID de la gare d'arrivée Le script est configuré pour sortir les 4 prochains trains. Je te laisse tester et voir ce qu'on peut améliorer. Si ça te convient, on pourra en faire un plugin |
Auteur: | wistealth [ 27 Oct 2020 21:25 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
#troll /on #ter_name : 8349 #heure théorique :12h40 #heure théorique + random (1-50) min # =heure d'arrivée #troll /off |
Auteur: | Senateur [ 28 Oct 2020 08:19 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
Bonjour Merguez et un grand merci, Je ne sais pas comment lier le script à un état avec variables, je l'ai donc lancé dans mon navigateur internet avec l'URL qui va bien. Ca marche très bien en passant les paramètres à l'URL (d'ailleurs, on voit ton token de l'API SNCF dans la capture d'écran en plus de celui que tu as masqué). Dans mes suggestions pêle-mêle: - Un bug sur la ville d'arrivée qui n'apparait pas dans le XML - S'agissant des trains supprimés, ils apparaissent avec la balise <status>NO_SERVICE</status> Un exemple:
C'est une information à mon sens qu'il faut pouvoir disposer dans une variable d'un état. Donc, idéalement il faudrait effectivement disposer en plus de la gare d'arrivée, de la gare de départ, de l'heure de départ, du retard en mn le cas échéant, d'une variable avec le statut du train (à l'heure, en retard ou supprimé). - Pour mon usage (et probablement celui de ceux qui prennent le train quotidiennement), je prends un train bien précis le matin. Pourrait-on imaginer indiquer dans les variables du script une variable horaire qui, si elle est renseignée par l'utilisateur eedomus, va rechercher le train dont l'heure de départ correspond à celle indiquée (ou la plus proche)? Cela permettra en plus d'interroger l'API et de retrouver les informations du train en retard alors que l'heure actuelle a dépassé l'heure à laquelle le train devait initialement desservir la gare de départ. - Cela m'amène à ma dernière remarque. J'utilise le résultat du script que j'envoie en partie à Jeedom pour faire un TTS Google le matin pour me prévenir des retards. Dans ce cas, il est intéressant d'avoir l'heure dans une version hhmm plutôt que hh:mm (pour l'utiliser dans des règles). Il est également intéressant de l'avoir en format hh:mm pour l'afficher sur un périphérique (ce que je fais avec eedomus à la fois pour l'envoi sur mon Lametric Time ou par SMS sur le trajet du soir du retour). Merci par avance!!! |
Auteur: | merguez07 [ 28 Oct 2020 09:35 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
Il ne faut pas utiliser les etats mais des capteurs HTTP
ok, j'ai modifié
corrigé
ben on a tout ça dans le xml, donc je ne comprends pas ta demande
là c'est possible mas il faut que je modifie le script afin d'avoir l'heure de depart réactualisé du retard (ce que je n'ai pas en l'état).
la mise en forme hhmm peut se faire au niveau de l'xpath, exemple : concat(substring-before(//result1/heure_depart, ':'),substring-after(//result1/heure_depart, ':')) ou (encore plus simple translate(//result1/heure_depart,':','') |
Auteur: | Senateur [ 28 Oct 2020 09:43 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
Pour le train supprimé, au temps pour moi, c'est moi qui ai la détente un peu lente mais j'ai bien compris pour le coup. Idem pour le capteur HTTP. Je me pose une dernière question. Si je multiplie les capteurs, je multiplie les appels à l'API SNCF (bon on est tout de même limités à 5000 requêtes par jour). Est-ce que cela est possible de stocker en mémoire interne le xml pour renvoyer les valeurs de ce XML, lorsque le dernier appel de l'API est récent? Bon ben ça me semble nickel pour moi. Je vais déjà fonctionner sur la base de ton script remanié, mais effectivement, je pense que ça pourrait servir à d'autres que moi. Merci beaucoup |
Auteur: | merguez07 [ 28 Oct 2020 10:05 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
c'est une bonne remarque et je prevoyais de rajouter effectivement une "remanence xml". Je m'en occupe Pour le plugin il faudra que je complète le code pour permettre à l'installation de choisir les gares de manière plus conviviale. Donc il y a encore du boulot |
Auteur: | merguez07 [ 28 Oct 2020 10:47 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
fait |
Auteur: | Senateur [ 28 Oct 2020 11:31 ] | ||
Sujet du message: | Re: [suggestion de plugin] Retards TER | ||
Ca tourne, nickel! J'ai regardé un peu le code. De ce que je comprends, le cache est de 5 minutes. En revanche, si j'ai plusieurs trajets implémentés avec différents capteurs HTTP comprenant des gare d'arrivées et de départs différentes, le script risque de retourner les informations de l'autre trajet. Ce n'est pas un cas d'école, puisque je prévois pour ma part d'avoir le trajet aller et le trajet retour. Pour éviter ça, on pourrait peut être ajouter dans le XML mis en cache, les VAR2 et VAR3 pour pouvoir les comparer avec la VAR2 et VAR3 de la requête actualisée ? Si VAR2 et VAR3 sont différents, alors on fait une nouvelle requête de l'API. Qu'est-ce que tu en penses ? Sinon, j'ai trouvé quelques icônes libres de droit qui pourraient être utiles (PJ).
|
Auteur: | merguez07 [ 28 Oct 2020 13:17 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
oui
bien vu. J'ai corrigé Merci pour les icones. Je vais voir comment mettre tout ça en musique |
Auteur: | Senateur [ 28 Oct 2020 13:24 ] | ||
Sujet du message: | Re: [suggestion de plugin] Retards TER | ||
Merci à toi C'est super sympa venant d'un résidant du seul département français où ne circule aucun train (hors les petits trains touristiques). Je complète la collection d'icônes. S'agissant de la balise status qui identifie les anomalies sur le trains, les différentes valeurs sont en anglais. Serait-il possible des les transcoder en fonction de la table de correspondance jointe ? NO_SERVICE : train supprimé REDUCED_SERVICE : service réduit SIGNIFICANT_DELAYS : retard DETOUR : itinéraire détourné ADDITIONAL_SERVICE : arrêt supplémentaire MODIFIED_SERVICE : trajet modifié OTHER_EFFECT : autre UNKNOWN_EFFECT : inconnu STOP_MOVED : arrêt supprimé Et si la balise est vide : aucune anomalie (L'API SNCF se base sur l'API Natia.io https://doc.navitia.io/#journeys)
|
Auteur: | merguez07 [ 28 Oct 2020 15:11 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
c'est bon, j'ai intégré |
Auteur: | Senateur [ 28 Oct 2020 15:15 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
Auteur: | merguez07 [ 01 Nov 2020 10:21 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
j'ai crée le plugin "trains" dans le store Bon c'est un premier jet. Les icones sont perfectibles mais pour le 1.0 ça ira bien il permet : -de donner l'heure du prochain train du trajet choisi, -en temps réel, -ou selon un horaire de départ choisit - ou selon un jour choisit -de donner les retard au départ et à l'arrivée -de donner le temps total du trajet On pourra y associer des règles pour informer par exemple l'utilisateur d'un retard A tester sans modération |
Auteur: | Senateur [ 01 Nov 2020 11:33 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
Bonjour Merguez, C'est installé et paramétré pour mes horaires de train habituels. Merci beaucoup d'avoir ajouté l'horaire souhaité. Je testerai ça en situation réelle à partir de demain. Dans les options pour la journée souhaitée, il est peut être possible de choisir semaine / we en plus du jour de la semaine ? |
Auteur: | merguez07 [ 01 Nov 2020 11:50 ] |
Sujet du message: | Re: [suggestion de plugin] Retards TER |
tout est possible. peut être que 7 cases à cocher pour chaque jour désiré serait plus judicieux ? |
Auteur: | Senateur [ 01 Nov 2020 12:44 ] |
Sujet du message: | Re: [Store] Horaires de trains |
En effet! |
Auteur: | galaksy2001 [ 06 Nov 2020 22:47 ] |
Sujet du message: | Re: [Store] Horaires de trains |
Merci beaucoup ! Je teste ce weekend |
Page 1 sur 2 | Le fuseau horaire est UTC+1 heure |
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/ |