sensors/gtfs.yaml
#
# Public Transit
#
# @see /custom_components/gtfs_custom/sensor.py
# @see /appdaemon/dashboards/Main.dash
# @see /customize.yaml
#
# @link http://gtfs.org/
# @link https://www.home-assistant.io/integrations/gtfs/
#
- platform: gtfs_custom
name: "Transit to Metro"
origin: !secret gtfs_origin_1
destination: !secret gtfs_destination_1
data: !secret gtfs_data
scan_interval: 60
- platform: gtfs_custom
name: "Transit to Metro 2"
origin: !secret gtfs_origin_1
destination: !secret gtfs_destination_1
data: !secret gtfs_data
scan_interval: 60
position: 2
- platform: gtfs_custom
name: "Transit to Metro 3"
origin: !secret gtfs_origin_1
destination: !secret gtfs_destination_1
data: !secret gtfs_data
scan_interval: 60
position: 3
- platform: gtfs_custom
name: "Transit to Market"
origin: !secret gtfs_origin_2
destination: !secret gtfs_destination_2
data: !secret gtfs_data
scan_interval: 60
- platform: gtfs_custom
name: "Transit to Market 2"
origin: !secret gtfs_origin_2
destination: !secret gtfs_destination_2
data: !secret gtfs_data
scan_interval: 60
position: 2
- platform: gtfs_custom
name: "Transit to Market 3"
origin: !secret gtfs_origin_2
destination: !secret gtfs_destination_2
data: !secret gtfs_data
scan_interval: 60
position: 3
- platform: template
sensors:
transit_to_market_countdown:
friendly_name: "Bus to Market"
icon_template: "mdi:bus"
value_template: >-
{% set countdown = states('sensor.transit_to_market') | int(-1) %}
{% if countdown > 60 %}
{% set hours = (countdown / 60) | int %}
{% set minutes = countdown % 60 %}
{% if minutes < 10 %}
{% set minutes = '0' ~ minutes %}
{% endif %}
{{hours}}:{{minutes}}
{% elif countdown >= 0 %}
{{countdown}}
{% else %}
unknown
{% endif %}
transit_to_market_2_countdown:
friendly_name: "Bus to Market 2"
icon_template: "mdi:bus"
value_template: >-
{% set countdown = states('sensor.transit_to_market_2') | int(-1) %}
{% if countdown > 60 %}
{% set hours = (countdown / 60) | int %}
{% set minutes = countdown % 60 %}
{% if minutes < 10 %}
{% set minutes = '0' ~ minutes %}
{% endif %}
{{hours}}:{{minutes}}
{% elif countdown >= 0 %}
{{countdown}}
{% else %}
unknown
{% endif %}
transit_to_market_3_countdown:
friendly_name: "Bus to Market 3"
icon_template: "mdi:bus"
value_template: >-
{% set countdown = states('sensor.transit_to_market_3') | int(-1) %}
{% if countdown > 60 %}
{% set hours = (countdown / 60) | int %}
{% set minutes = countdown % 60 %}
{% if minutes < 10 %}
{% set minutes = '0' ~ minutes %}
{% endif %}
{{hours}}:{{minutes}}
{% elif countdown >= 0 %}
{{countdown}}
{% else %}
unknown
{% endif %}
transit_to_market_hour:
friendly_name: "Bus to Market"
icon_template: "mdi:bus"
value_template: >-
{% set departure = state_attr('sensor.transit_to_market', 'Origin Stop Departure Time') %}
{% if departure != None %}
{% set departure = departure.split(' ') %}
{% set hms = departure[1].split(':') %}
{{hms[0]}}:{{hms[1]}}
{% else %}
unknown
{% endif %}
transit_to_market_2_hour:
friendly_name: "Bus to Market (Next)"
icon_template: "mdi:bus"
value_template: >-
{% set departure = state_attr('sensor.transit_to_market_2', 'Origin Stop Departure Time') %}
{% if departure != None %}
{% set departure = departure.split(' ') %}
{% set hms = departure[1].split(':') %}
{{hms[0]}}:{{hms[1]}}
{% else %}
unknown
{% endif %}
transit_to_market_3_hour:
friendly_name: "Bus to Market (After)"
icon_template: "mdi:bus"
value_template: >-
{% set departure = state_attr('sensor.transit_to_market_3', 'Origin Stop Departure Time') %}
{% if departure != None %}
{% set departure = departure.split(' ') %}
{% set hms = departure[1].split(':') %}
{{hms[0]}}:{{hms[1]}}
{% else %}
unknown
{% endif %}
transit_to_metro_countdown:
friendly_name: "Bus to Metro"
icon_template: "mdi:bus"
value_template: >-
{% set countdown = states('sensor.transit_to_metro') | int(-1) %}
{% if countdown > 60 %}
{% set hours = (countdown / 60) | int %}
{% set minutes = countdown % 60 %}
{% if minutes < 10 %}
{% set minutes = '0' ~ minutes %}
{% endif %}
{{hours}}:{{minutes}}
{% elif countdown >= 0 %}
{{countdown}}
{% else %}
unknown
{% endif %}
transit_to_metro_2_countdown:
friendly_name: "Bus to Metro 2"
icon_template: "mdi:bus"
value_template: >-
{% set countdown = states('sensor.transit_to_metro_2') | int(-1) %}
{% if countdown > 60 %}
{% set hours = (countdown / 60) | int %}
{% set minutes = countdown % 60 %}
{% if minutes < 10 %}
{% set minutes = '0' ~ minutes %}
{% endif %}
{{hours}}:{{minutes}}
{% elif countdown >= 0 %}
{{countdown}}
{% else %}
unknown
{% endif %}
transit_to_metro_3_countdown:
friendly_name: "Bus to Metro 3"
icon_template: "mdi:bus"
value_template: >-
{% set countdown = states('sensor.transit_to_metro_3') | int(-1) %}
{% if countdown > 60 %}
{% set hours = (countdown / 60) | int %}
{% set minutes = countdown % 60 %}
{% if minutes < 10 %}
{% set minutes = '0' ~ minutes %}
{% endif %}
{{hours}}:{{minutes}}
{% elif countdown >= 0 %}
{{countdown}}
{% else %}
unknown
{% endif %}
transit_to_metro_hour:
friendly_name: "Bus to Metro"
icon_template: "mdi:bus"
value_template: >-
{% set departure = state_attr('sensor.transit_to_metro', 'Origin Stop Departure Time') %}
{% if departure != None %}
{% set departure = departure.split(' ') %}
{% set hms = departure[1].split(':') %}
{{hms[0]}}:{{hms[1]}}
{% else %}
unknown
{% endif %}
transit_to_metro_2_hour:
friendly_name: "Bus to Metro (Next)"
icon_template: "mdi:bus"
value_template: >-
{% set departure = state_attr('sensor.transit_to_metro_2', 'Origin Stop Departure Time') %}
{% if departure != None %}
{% set departure = departure.split(' ') %}
{% set hms = departure[1].split(':') %}
{{hms[0]}}:{{hms[1]}}
{% else %}
unknown
{% endif %}
transit_to_metro_3_hour:
friendly_name: "Bus to Metro (After)"
icon_template: "mdi:bus"
value_template: >-
{% set departure = state_attr('sensor.transit_to_metro_3', 'Origin Stop Departure Time') %}
{% if departure != None %}
{% set departure = departure.split(' ') %}
{% set hms = departure[1].split(':') %}
{{hms[0]}}:{{hms[1]}}
{% else %}
unknown
{% endif %}