J’ai ouvert une issue sur githubIssue
J’ai quand meme une queston supplémentaire
es t-il possible d’avoir des exemples de config de la carte ‹ multiple entity row › comme decrit dans la doc ?
ICI
merci encore et BRAVO pour le boulot !!!
J’ai ouvert une issue sur githubIssue
J’ai quand meme une queston supplémentaire
es t-il possible d’avoir des exemples de config de la carte ‹ multiple entity row › comme decrit dans la doc ?
ICI
merci encore et BRAVO pour le boulot !!!
ah chouette, je vais tester ça Merci
Je me permets de poster ici suite a pas mal d’echanges sur github, pour etre en francais et echanger sur le real time.
Si j’ai bien compris quand on essaye d’ajouter le Realtime a des données de stop ou de trip cela multiplie les requetes et la complexité…
est-ce qu’on pourrait envisager une autre methode de recuperation de l’information (une option diffrente des 2 autres par ex) valabel que pour les reseaux qui ont du Real time.
je sait pas les contraintes techniques ni les methodes … mais c’est juste une idée
par exemple, a partir d’un stopID que l’on chercherait dans l’extraction Real time on créerait la liste des prochains stop à l’arret avec les trip id correspondant, et c’est alors que l’on irait chercher dans les données static (extraites moins souvent) l’information du trip ID avec les infos comme la ligne ou la direction etc…
On pourrait ensuite filtre avec une flex card sur une ligne particulière …
ou alors utiliser toujours la fonction pour un stop qui fonctionne bien en 0.4 pour un besoin plus chirurgical.
Je sais pas trop si ca a du sens …
Donc, car déjà active sur Github, je reste là-bas pour tracquer le progrès. Grand soucis est le nombre des calls vers la source RT qui se fait par stop et par trip … j’ai des exemples avec plus de 25, chaques minutes. Dans le tmeps, je fait les maj que sur github …
bonjour,
j’ai testé avec les horaires des TCL (lyon) , récupérés ici : https://data.grandlyon.com/portail/fr/jeux-de-donnees/horaires-theoriques-reseau-transports-commun-lyonnais/telechargements
L’import semble être complet puisque le fichier journal disparait et le fichier de sqlite fait quelques Mo.
Mais après, l’intégration n’apparait pas : je suis toujours obligé de passer par « ajouter une intégration ».
Bref, je pense qu’un truc doit coincer, mais quoi ?
Malheureusement encore une autre manière de cacher des données qui (de mon avis) devraient être ouvert pour tous. Il faut être connecté pour utiliser le lien et je ne sais pas comment faire autre (pas de api-key)
Donc, seul option…télécharger le zip soit-même et le placer dans le dossier (config)/gtfs2, ensuite utiliser l’intégration et référencer le zip
Mon intégration ne peut pas couvrir chaque soucis et celle-ci est ‹ spécial ›
ah mais, j’ai placé le fichier dans le bon dossier, utilisé l’integ qui est allée au bout de son boulot.
sauf que l’integ n’apparait pas dans la page des integ
? screenshot stp car je ne comprends pas
EDIT: et verifier les logs aussi
EDI2: je l’ai testé avec le nom en minuscules… donc, saufgradé « lyon.zip » et en suite l’extraction par l’intégration …ça marche
J’ai recommencé avec le nom en minuscules.
Le fichier journal disparait bien à la fin de l’import :
Mais l’intégration GTFS2 n’apparait pas sur la page des intégrations, ce qui n’est pas normal de mon point de vue ?
Si c’est la première fois c’est bon. L’intégration n’a rien fait sauf crée la bdd pour configurer …ajoute le encore
ah ok, en effet.
en ajoutant un « départ prochain autour », c’est bon.
merci.
Bonjour à tous,
Tout d’abord merci pour cette intégration. Après quel jour d’acharnement, j’ai enfin réussi
@vingerha , j’ai utilisé ce lien ci pour les bus Wallonie en Belgique : Mobility Database ; je n’ai pas réussi avec celui qui est dans la documentation.
Par contre, j’aurais besoin de vos lumières. Je vais essayer d’être le plus clair possible
J’ai crée des zones de bus, et forcement il passe dans un sens puis dans l’autre. Pour savoir dans quel sens il passe, j’ai le sous attribut « direction_id: 0 »
Je voudrais avoir l’information du trajet du bus mais uniquement dans une direction. Est-il possible de supprimé la direction, comme nommé " arrivé" et ne garder que le « départ »
type: custom:flex-table-card
title: "Départ 12 : Saint-Lambert => Villers"
max_rows: 5
entities:
include: sensor.llglamb3_local_stop_zone_place_st_lambert
columns:
- data: next_departures_lines
modify: x.route
name: "<div style=\"color: red\">Ligne</div>"
align: center
- data: next_departures_lines
modify: |
if (x.direction_id != 0)
'<div style="color:green;"> Arrivé</div>'
else if (x.direction_id != 1)
'<div style="color:red;"> Départ </div>'
else x
name: 1 Arrivé / 0 Départ
align: center
- data: next_departures_lines
modify: x.departure
name: Heure
align: center
- data: next_departures_lines
modify: x.stop_name
name: Lieu
align: center
- data: next_departures_lines
modify: x.date
name: Date
align: center
strict: true
css:
table+: "border-collapse: collapse;"
th+: "border: 1px solid white;"
td+: "border: 1px solid white;"
Merci d’avance
hello, j’ai un petit souci docteur,
depuis aujourd’hui, plus rien l’état des sensor est passé en inconnu.
je me dis, fin d’année, fin de service pour le fichier GTFS?!
je trouve un nouveau fichier du 19/12/24, upload ca sur HA et boum
non seulement je ne peux pas ajouter de sensor avec la nouvelle source, mais je ne peux pas non plus avec l’ancienne.
2024-12-23 00:34:51.975 DEBUG (SyncWorker_3) [custom_components.gtfs2.gtfs_helper] Checking if extracting: Izilo
2024-12-23 00:34:51.976 DEBUG (SyncWorker_3) [custom_components.gtfs2.gtfs_helper] Setting up Route for start/end : PERY / TURE
2024-12-23 00:34:51.976 DEBUG (SyncWorker_3) [custom_components.gtfs2.gtfs_helper] Include Tomorrow
2024-12-23 00:34:51.990 DEBUG (SyncWorker_3) [custom_components.gtfs2.gtfs_helper] item: {}
2024-12-23 00:34:51.990 INFO (SyncWorker_3) [custom_components.gtfs2.gtfs_helper] No items found in gtfs
2024-12-23 00:34:51.992 DEBUG (MainThread) [custom_components.gtfs2.gtfs_helper] Getting stops list for route: NCV
donc je comprend qu’il ne trouve pas d’info dans le gtfs, mais je ne comprend pas la raison du pourquoi cela fonctionnait parfaitement bien jusque la
Il faut analyser les fichiers dans le zip si le nouveau n’est en realité ancient aussi, commencer avec agency qui peux montrer la période. Sinon il faut reconstruire son route(.txt) + trip(.txt) avec le calendar et/ou calendar_dates, si ça existe pour ‹ aijourd’hui › il faut voir s’il y a des stop_times pour ce trip et ensuit si le stop_times sont lesquelles que t’utilise.
C’est du boulot
Je me répond à moi-même
1 mois après, j’ai repris les recherches et j’ai enfin trouvé ^^
il suffisait de mettre :
- data: next_departures_lines
modify: |
if(x.direction_id == 1 )
{"Départ"}
et ca prend uniquement que une seul direction.
Bonjour,
5. Visualizing the data · vingerha/gtfs2 Wiki · GitHub => tu fais une carte vertical stack + entities + markdown pour pouvoir sélectionner la ligne de bus/train.
Est-il possible de faire le même type de carte pour la direction ? Je m’explique, lorsque le bus arrive au terminus, j’ai un attributs direction_id qui soit sur 0 soit 1 en fonction de l’heure d’arrivé / départ.
Merci d’avance
If faux juste changer le ‹ test ›
de
{%- if
state_attr('sensor.01254_0608400_local_stop_person_abcd','next_departures_lines')[i].route
== states("input_text.local_stops_filter") -%}
vers direction_id et j’attend que t’utilise input_number (car direction_id est 0 ou 1)
{%- if
state_attr('sensor.01254_0608400_local_stop_person_abcd','next_departures_lines')[i].direction_id
== states("input_number.local_stops_filter") -%}
Si encore input_text faut mêttre ( states("input_text.local_stops_filter") | int)
Merci pour la réponse, mais désolé, je comprend pas comment faire… et comment insérer le code
au lieu d’un input_number , j’ai fait à la place un input_select pour la ligne du bus.
type: vertical-stack
cards:
- type: entities
entities:
- entity: input_select.bus
- entity: input_select.direction_bus
- type: markdown
content: >-
<table> {% set next =
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')%}
{% for i in range(0, next | count, 1) %} {%- if
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')[i].route
== states("input_select.bus") -%}
<tr> <td>{{
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')[i].route
}}</td> <td>{{
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')[i].departure
}}</td> <td>{{
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')[i].stop_name
}}</td> <td>{{
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')[i].direction_id
}}</td> {% endif %} {% endfor %}
<table> {% set next =
state_attr('sensor.llglamb7_local_stop_zone_place_st_lambert','next_departures_lines')%}
{% for i in range(0, next | count, 1) %} {%- if
state_attr('sensor.llglamb7_local_stop_zone_place_st_lambert','next_departures_lines')[i].route
== states("input_select.bus") -%}
<tr> <td>{{
state_attr('sensor.llglamb7_local_stop_zone_place_st_lambert','next_departures_lines')[i].route
}}</td> <td>{{
state_attr('sensor.llglamb7_local_stop_zone_place_st_lambert','next_departures_lines')[i].departure
}}</td> <td>{{
state_attr('sensor.llglamb7_local_stop_zone_place_st_lambert','next_departures_lines')[i].stop_name
}}</td> <td>{{
state_attr('sensor.llglamb7_local_stop_zone_place_st_lambert','next_departures_lines')[i].direction_id
}}</td> {% endif %} {% endfor %}
card_mod:
style:
.: |
ha-card ha-markdown {
padding:0px
border-top: 1px groove var(--divider-color);
overflow-y: scroll;
height: 300px;
}
ha-card ha-markdown.no-header {
padding:0px
}
$: |
h1.card-header {
background-color:rgb(100, 100, 100);
padding: 0px 0px 0px 12px !important;
color: white !important;
font-weight: normal;
font-size: 1.5em !important;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
height: 100%;
}
ha-markdown $: |
h1 {
font-weight: normal;
font-size: 24px;
}
table{
border-collapse: collapse;
font-size: 0.9em;
font-family: Roboto;
width: 100%;
outline: 0px solid #393c3d;
margin-top: 10px;
}
td {
padding: 5px 5px 5px 5px;
text-align: left;
border-bottom: 0px solid #1c2020;
}
tr:nth-of-type(even) {
background-color: rgb(54, 54, 54, 0.3);
}
vers ‹ direction_id ›
et input_select doit donner soit 0 ou 1 comme résultat…comme tu veux/choissi
type: vertical-stack
cards:
- type: entities
entities:
- entity: input_select.direction_bus
- type: markdown
content: >-
<table> {% set next =
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')%}
{% for i in range(0, next | count, 1) %} {%- if
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')[i].direction_id
== states("input_select.direction_bus") -%}
<tr> <td>{{
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')[i].route
}}</td> <td>{{
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')[i].departure
}}</td> <td>{{
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')[i].stop_name
}}</td> <td>{{
state_attr('sensor.llglamb3_local_stop_zone_place_st_lambert','next_departures_lines')[i].direction_id
}}</td> {% endif %} {% endfor %}
card_mod:
style:
.: |
ha-card ha-markdown {
padding:0px
border-top: 1px groove var(--divider-color);
overflow-y: scroll;
height: 300px;
}
ha-card ha-markdown.no-header {
padding:0px
}
$: |
h1.card-header {
background-color:rgb(100, 100, 100);
padding: 0px 0px 0px 12px !important;
color: white !important;
font-weight: normal;
font-size: 1.5em !important;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
height: 100%;
}
ha-markdown $: |
h1 {
font-weight: normal;
font-size: 24px;
}
table{
border-collapse: collapse;
font-size: 0.9em;
font-family: Roboto;
width: 100%;
outline: 0px solid #393c3d;
margin-top: 10px;
}
td {
padding: 5px 5px 5px 5px;
text-align: left;
border-bottom: 0px solid #1c2020;
}
tr:nth-of-type(even) {
background-color: rgb(54, 54, 54, 0.3);
}
J’ai rien qui s’affiche