TO BE REMOVED: If you need help, as a developer, to use this custom component tempalte, please look at the User Guide in the Cookiecutter documentation
This component will set up the following platforms.
Platform | Description |
---|---|
binary_sensor |
Show something True or False . |
sensor |
Show info from Bart Realtime API. |
- Using the tool of choice open the directory (folder) for your HA configuration (where you find
configuration.yaml
). - If you do not have a
custom_components
directory (folder) there, you need to create it. - In the
custom_components
directory (folder) create a new folder calledbart_realtime
. - Download all the files from the
custom_components/bart_realtime/
directory (folder) in this repository. - Place the files you downloaded in the new directory (folder) you created.
- Restart Home Assistant
- In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "Bart Realtime"
Using your HA configuration directory (folder) as a starting point you should now also have this:
custom_components/bart_realtime/translations/en.json
custom_components/bart_realtime/translations/fr.json
custom_components/bart_realtime/translations/nb.json
custom_components/bart_realtime/translations/sensor.en.json
custom_components/bart_realtime/translations/sensor.fr.json
custom_components/bart_realtime/translations/sensor.nb.json
custom_components/bart_realtime/translations/sensor.nb.json
custom_components/bart_realtime/__init__.py
custom_components/bart_realtime/api.py
custom_components/bart_realtime/binary_sensor.py
custom_components/bart_realtime/config_flow.py
custom_components/bart_realtime/const.py
custom_components/bart_realtime/manifest.json
custom_components/bart_realtime/sensor.py
custom_components/bart_realtime/switch.py
If you want to contribute to this please read the Contribution guidelines
This project was generated from @oncleben31's Home Assistant Custom Component Cookiecutter template.
Code template was mainly taken from @Ludeeus's integration_blueprint template
To run the dev script locally:
pip install -r dev-requirements.txt
python local_data_fetcher.py
- https://developers.home-assistant.io/blog/2020/05/08/logos-custom-integrations/
- https://github.com/home-assistant/brands
- home-assistant/brands#2610
- Example PR of adding images
- https://developers.home-assistant.io/docs/config_entries_index/
- https://github.com/boralyl/github-custom-component-tutorial
- project-koku/nise-populator#135 (comment)
- black and reorder-python-imports are now incompatible
- https://developers.home-assistant.io/blog/2024/04/30/store-runtime-data-inside-config-entry/
- https://developers.home-assistant.io/docs/integration_fetching_data/#coordinated-single-api-poll-for-data-for-all-entities
- https://developers.home-assistant.io/blog/2024/08/05/coordinator_async_setup/
- https://developers.home-assistant.io/blog/2024/05/01/improved-hass-data-typing
- https://github.com/home-assistant/core/blob/dev/homeassistant/components/airnow/__init__.py#L96
- https://developers.home-assistant.io/docs/core/entity/#entity-naming
- Entity naming (this needs a redo)
- https://api.bart.gov/docs/bsa/bsa.aspx
- Advisory endpoint (maybe a text sensor for this as well, with its own data update coordinator)
- https://api.bart.gov/docs/stn/stns.aspx
- All stations (could use this for testing config flow better)
For trains going north:
type: entity-filter
state_filter:
- operator: "=="
value: North
attribute: direction
entities:
- sensor.24th_street
- sensor.antioch
- sensor.berryessa
- sensor.daly_city
- sensor.dublin_pleasanton
- sensor.fremont
- sensor.millbrae
- sensor.pittsburg_bay_point
- sensor.richmond
- sensor.sf_airport
- sensor.sfo_millbrae
card:
title: North
For trains going south:
type: entity-filter
state_filter:
- operator: "=="
value: South
attribute: direction
entities:
- sensor.24th_street
- sensor.antioch
- sensor.berryessa
- sensor.daly_city
- sensor.dublin_pleasanton
- sensor.fremont
- sensor.millbrae
- sensor.pittsburg_bay_point
- sensor.richmond
- sensor.sf_airport
- sensor.sfo_millbrae
card:
title: South
For announcements:
type: entities
entities:
- entity: binary_sensor.bart_has_announcements
- entity: sensor.announcement
title: Announcements
show_header_toggle: false
state_color: true