type: custom:html-template-card title: Real Time — De Lijn ignore_line_breaks: true content: > {% set stop_name = "Anderlecht Coovi" %} {% set alert_entity = "sensor.delijn_alerts_anderlecht_coovi_300801" %} {% set alert_count = states(alert_entity) | int(0) %}
{{ stop_name }}
{% if alert_count > 0 %} {{ alert_count }} alerte{{ 's' if alert_count > 1 }} {% endif %}
{% macro render_row(entity_id) %} {% set s = states[entity_id] %} {% if s %} {% set state_val = s.state %} {% set line = s.attributes.line | default('?') %} {% set dest = s.attributes.destination | default('N/A') %} {% set pred = s.attributes.prediction | default('') %} {% set bg = s.attributes.badge_background | default('#888888') %} {% set fg = s.attributes.badge_text | default('#FFFFFF') %} {% set border_col = s.attributes.badge_border | default(bg) %} {% set next_deps = s.attributes.next_departures | default([]) %} {% set next_time = next_deps[0].realtime if next_deps and next_deps[0].realtime else (next_deps[0].scheduled if next_deps else None) %} {% set cancelled = pred == 'Annulé' or pred == 'Geschrapt' %} {% set no_service = state_val in ['unknown','unavailable'] %} {% set fsize = 52 if line|length <= 2 else (40 if line|length == 3 else 28) %} {% set svg_bg = bg | replace('#','%23') %} {% set svg_fg = fg | replace('#','%23') %} {% set svg_border = border_col | replace('#','%23') %} {% endif %} {% endmacro %} {{ render_row('sensor.delijn_line_r42_anderlecht_coovi_to_leerbeek') }} {{ render_row('sensor.delijn_line_r54_anderlecht_coovi_to_halle_az') }} {{ render_row('sensor.delijn_line_r70_anderlecht_coovi_to_halle_station') }} {{ render_row('sensor.delijn_line_r71_anderlecht_coovi_to_brukom_europalaan') }} {{ render_row('sensor.delijn_line_r72_anderlecht_coovi_to_sint_pieters_leeuw') }}
Ligne Destination Prochain Suivant
{% if cancelled %} Annulé {% else %} {{ dest }} {% endif %} {% if no_service %} — {% else %} {{ state_val if not cancelled else '--' }} m {% endif %} {{ next_time if next_time else '—' }}