From 7f566f342bedb140b29f4bcd019302a832b40fc2 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Thu, 2 Aug 2018 22:47:22 +0200 Subject: [PATCH 01/12] Initial documentation for the rmvtransport sensor. --- .../_components/sensor.rmvtransport.markdown | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 source/_components/sensor.rmvtransport.markdown diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown new file mode 100644 index 000000000000..e119cb8ef965 --- /dev/null +++ b/source/_components/sensor.rmvtransport.markdown @@ -0,0 +1,72 @@ +--- +layout: page +title: "RMV" +description: "Instructions on how to integrate Rhein-Main public transport departure times into Home Assistant." +date: 2018-08-02 22:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: rmv.png +ha_category: Transport +ha_release: 0.75 +ha_iot_class: "Cloud Polling" +--- + +The `rvmtransport` sensor will give you the departure time of the next bus, tram, subway, or train at the next station or stop in the Munich public transport network. Additional details such as the line number and destination are present in the attributes. + +## {% linkable_title Configuration %} + +To enable this sensor, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: rmvtransport + nextdeparture: + - station: STATION_OR_STOP_ID +``` + +Configuration variables: + + - **stationId** (*Required*): ID of the stop or station, e.g. 3000010. Visit [the RMV OpenData web site](https://opendata.rmv.de) to find a list or valid IDs. + - **destinations** (*Optional*): One or multiple final stop names, e.g., 'Frankfurt (Main) Hauptbahnhof' or ['Frankfurt (Main) Hauptbahnhof','Frankfurt (Main) Stadion']. This can be used to only consider a particular direction of travel. + - **lines** (*Optional*): One or more line numbers, e.g., 'S8' or ['S8', 'RB33', '41'] + - **products** (*Optional*): One or more modes of transport, defaults to all modes ['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']. + - **timeoffset** (*Optional*): Do not display departures leaving sooner than this number of minutes (defaults to 0). Useful if you are a couple of minutes away from the stop. + - **name** (*Optional*): You can customize the name of the sensor, which defaults to the station name. + +## {% linkable_title Examples %} + +### {% linkable_title Full configuration %} + +The example below shows a full configuration with three sensors that showcase the various configuration options. + +```yaml +# Example configuration.yaml entry +sensor: + - platform: rmvtransport + nextdeparture: + - station: 3000010 + timeoffset: 5 + destinations: + - 'Frankfurt (Main) Flughafen Regionalbahnhof' + - 'Frankfurt (Main) Stadion' + products: + - 'RB' + - 'RE' + - 'Bus' + - 'S' + - station: 3006907 + products: 'Bus' + destinations: ['Wiesbaden Dernsches Gelände', 'Mainz Hauptbahnhof'] + name: Destination + - station: 3006904 + lines: 'S8' + max: 5 + products: 'S' +``` + +The first sensor will return S-Bahn, bus, RB and RE trains departures from Frankfurt Hauptbahnhof to Frankfurt Airport or Stadium that are at least 5 minutes away. +The second sensor returns bus departures from Wiesbaden Hauptbahnhof going to Dernsches Gelände and Mainz Hauptbahnhof. To retrieve the time until the second departure, you would use states.sensor.ENTITY_NAME.attributes.departures[1].time. +The third sensor returns all S-Bahn trains from Mainz Hauptbahnhof for line S8. From 1e053bfe9715e2ac5f316ee4ffad574513aec8b2 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Thu, 2 Aug 2018 22:54:09 +0200 Subject: [PATCH 02/12] Fix name --- source/_components/sensor.rmvtransport.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index e119cb8ef965..991408a0d9cc 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -13,7 +13,7 @@ ha_release: 0.75 ha_iot_class: "Cloud Polling" --- -The `rvmtransport` sensor will give you the departure time of the next bus, tram, subway, or train at the next station or stop in the Munich public transport network. Additional details such as the line number and destination are present in the attributes. +The `rvmtransport` sensor will give you the departure time of the next bus, tram, subway, or train at the next station or stop in the Rhein-Main area public transport network. Additional details such as the line number and destination are present in the attributes. ## {% linkable_title Configuration %} From e499c8843326535e642de09463c840b15445b6ad Mon Sep 17 00:00:00 2001 From: cgtobi Date: Thu, 2 Aug 2018 23:31:16 +0200 Subject: [PATCH 03/12] Fix typo --- source/_components/sensor.rmvtransport.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index 991408a0d9cc..e7df9a991a99 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -29,7 +29,7 @@ sensor: Configuration variables: - - **stationId** (*Required*): ID of the stop or station, e.g. 3000010. Visit [the RMV OpenData web site](https://opendata.rmv.de) to find a list or valid IDs. + - **stationId** (*Required*): ID of the stop or station, e.g. 3000010. Visit [the RMV OpenData web site](https://opendata.rmv.de) to find a list of valid IDs. - **destinations** (*Optional*): One or multiple final stop names, e.g., 'Frankfurt (Main) Hauptbahnhof' or ['Frankfurt (Main) Hauptbahnhof','Frankfurt (Main) Stadion']. This can be used to only consider a particular direction of travel. - **lines** (*Optional*): One or more line numbers, e.g., 'S8' or ['S8', 'RB33', '41'] - **products** (*Optional*): One or more modes of transport, defaults to all modes ['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']. From dd1c55bb473abcadc5a126a2bed7c20586056732 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Sun, 5 Aug 2018 20:24:16 +0200 Subject: [PATCH 04/12] Added missing variable description for max number of journeys. --- source/_components/sensor.rmvtransport.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index e7df9a991a99..d4e1385edad6 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: rmv.png ha_category: Transport -ha_release: 0.75 +ha_release: 0.76 ha_iot_class: "Cloud Polling" --- @@ -35,6 +35,7 @@ Configuration variables: - **products** (*Optional*): One or more modes of transport, defaults to all modes ['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']. - **timeoffset** (*Optional*): Do not display departures leaving sooner than this number of minutes (defaults to 0). Useful if you are a couple of minutes away from the stop. - **name** (*Optional*): You can customize the name of the sensor, which defaults to the station name. + - **max** (*Optional*): Specify the maximal number of journeys (defaults to 5). ## {% linkable_title Examples %} From 6f3008653011d0f276c9baf7025c5229599ae94b Mon Sep 17 00:00:00 2001 From: cgtobi Date: Tue, 7 Aug 2018 20:39:03 +0200 Subject: [PATCH 05/12] Minor wording fix --- source/_components/sensor.rmvtransport.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index d4e1385edad6..475eeb71ecf0 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -69,5 +69,5 @@ sensor: ``` The first sensor will return S-Bahn, bus, RB and RE trains departures from Frankfurt Hauptbahnhof to Frankfurt Airport or Stadium that are at least 5 minutes away. -The second sensor returns bus departures from Wiesbaden Hauptbahnhof going to Dernsches Gelände and Mainz Hauptbahnhof. To retrieve the time until the second departure, you would use states.sensor.ENTITY_NAME.attributes.departures[1].time. +The second sensor returns bus departures from Wiesbaden Hauptbahnhof going to Dernsches Gelände and Mainz Hauptbahnhof. To retrieve the time of the second departure, you would use states.sensor.ENTITY_NAME.attributes.departures[1].time. The third sensor returns all S-Bahn trains from Mainz Hauptbahnhof for line S8. From 13e90fd6dc5790912c1e6da3d487ff080255dfc2 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Thu, 9 Aug 2018 22:34:58 +0200 Subject: [PATCH 06/12] Fix setting names after code change. --- source/_components/sensor.rmvtransport.markdown | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index 475eeb71ecf0..84389e885b40 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -33,9 +33,9 @@ Configuration variables: - **destinations** (*Optional*): One or multiple final stop names, e.g., 'Frankfurt (Main) Hauptbahnhof' or ['Frankfurt (Main) Hauptbahnhof','Frankfurt (Main) Stadion']. This can be used to only consider a particular direction of travel. - **lines** (*Optional*): One or more line numbers, e.g., 'S8' or ['S8', 'RB33', '41'] - **products** (*Optional*): One or more modes of transport, defaults to all modes ['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']. - - **timeoffset** (*Optional*): Do not display departures leaving sooner than this number of minutes (defaults to 0). Useful if you are a couple of minutes away from the stop. + - **time_offset** (*Optional*): Do not display departures leaving sooner than this number of minutes (defaults to 0). Useful if you are a couple of minutes away from the stop. - **name** (*Optional*): You can customize the name of the sensor, which defaults to the station name. - - **max** (*Optional*): Specify the maximal number of journeys (defaults to 5). + - **max_journeys** (*Optional*): Specify the maximal number of journeys (defaults to 5). ## {% linkable_title Examples %} @@ -49,7 +49,7 @@ sensor: - platform: rmvtransport nextdeparture: - station: 3000010 - timeoffset: 5 + time_offset: 5 destinations: - 'Frankfurt (Main) Flughafen Regionalbahnhof' - 'Frankfurt (Main) Stadion' @@ -64,7 +64,7 @@ sensor: name: Destination - station: 3006904 lines: 'S8' - max: 5 + max_journeys: 5 products: 'S' ``` From ecde09e3cf8088dc442f8fb07b60112ac1ccb7f5 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Fri, 10 Aug 2018 20:05:58 +0200 Subject: [PATCH 07/12] Use configuration tag syntax. --- .../_components/sensor.rmvtransport.markdown | 45 ++++++++++++++----- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index 84389e885b40..ec2c7cdd08a7 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -26,16 +26,41 @@ sensor: nextdeparture: - station: STATION_OR_STOP_ID ``` - -Configuration variables: - - - **stationId** (*Required*): ID of the stop or station, e.g. 3000010. Visit [the RMV OpenData web site](https://opendata.rmv.de) to find a list of valid IDs. - - **destinations** (*Optional*): One or multiple final stop names, e.g., 'Frankfurt (Main) Hauptbahnhof' or ['Frankfurt (Main) Hauptbahnhof','Frankfurt (Main) Stadion']. This can be used to only consider a particular direction of travel. - - **lines** (*Optional*): One or more line numbers, e.g., 'S8' or ['S8', 'RB33', '41'] - - **products** (*Optional*): One or more modes of transport, defaults to all modes ['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']. - - **time_offset** (*Optional*): Do not display departures leaving sooner than this number of minutes (defaults to 0). Useful if you are a couple of minutes away from the stop. - - **name** (*Optional*): You can customize the name of the sensor, which defaults to the station name. - - **max_journeys** (*Optional*): Specify the maximal number of journeys (defaults to 5). +{% configuration %} +name: + description: Name to use in the frontend. + required: false + default: The default is the station name. + type: string +stationId: + description: ID of the stop or station, e.g. 3000010. Visit [the RMV OpenData web site](https://opendata.rmv.de) to find a list of valid IDs. + required: true + type: string +destinations: + description: One or multiple final stop names, e.g., 'Frankfurt (Main) Hauptbahnhof' or ['Frankfurt (Main) Hauptbahnhof','Frankfurt (Main) Stadion']. This can be used to only consider a particular direction of travel. + required: false + type: [string] +lines: + description: One or more line numbers, e.g., `'S8'` or `['S8', 'RB33', '41']` + required: false + default: The default is the station name. + type: [string, int] +products: + description: One or more modes of transport `['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']`. + required: false + default: Defaults to all. + type: [string] +time_offset: + description: Do not display departures leaving sooner than this number of minutes. Useful if you are a couple of minutes away from the stop. + required: false + default: The defaults is 0. + type: int +max_journeys: + description: Specify the maximal number of journeys. + required: false + default: The default is 5. + type: string +{% endconfiguration %} ## {% linkable_title Examples %} From 1869de53f59622df85e0836f9d6b7976609324ae Mon Sep 17 00:00:00 2001 From: cgtobi Date: Fri, 10 Aug 2018 20:21:07 +0200 Subject: [PATCH 08/12] Add logo. --- source/images/supported_brands/RMV.png | Bin 0 -> 12964 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/images/supported_brands/RMV.png diff --git a/source/images/supported_brands/RMV.png b/source/images/supported_brands/RMV.png new file mode 100644 index 0000000000000000000000000000000000000000..250e90e4d4b2970aff5fa85df4cb15e947a2e674 GIT binary patch literal 12964 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 literal 0 HcmV?d00001 From 00c5cf7f24254ef2825ecc0fdbcd293209745c68 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Fri, 10 Aug 2018 20:21:32 +0200 Subject: [PATCH 09/12] Update logo file name. --- source/_components/sensor.rmvtransport.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index ec2c7cdd08a7..e07be7e873f0 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -7,7 +7,7 @@ sidebar: true comments: false sharing: true footer: true -logo: rmv.png +logo: RMV.png ha_category: Transport ha_release: 0.76 ha_iot_class: "Cloud Polling" From 12bdf9385e23aa7661b9ee14bef8d0f0f38cb35d Mon Sep 17 00:00:00 2001 From: cgtobi Date: Fri, 10 Aug 2018 20:50:50 +0200 Subject: [PATCH 10/12] Fix liquid syntax error. --- source/_components/sensor.rmvtransport.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index e07be7e873f0..2eae2cc09a91 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -26,7 +26,7 @@ sensor: nextdeparture: - station: STATION_OR_STOP_ID ``` -{% configuration %} +{% raw %}{% configuration %} name: description: Name to use in the frontend. required: false @@ -60,7 +60,7 @@ max_journeys: required: false default: The default is 5. type: string -{% endconfiguration %} +{% endconfiguration %}{% endraw %} ## {% linkable_title Examples %} From 65b964213ab6605a2314a927365fcaf3277d13dd Mon Sep 17 00:00:00 2001 From: cgtobi Date: Sat, 11 Aug 2018 14:00:07 +0200 Subject: [PATCH 11/12] Fix config setting name. --- source/_components/sensor.rmvtransport.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index 2eae2cc09a91..96d3f810f7d7 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -23,7 +23,7 @@ To enable this sensor, add the following lines to your `configuration.yaml` file # Example configuration.yaml entry sensor: - platform: rmvtransport - nextdeparture: + next_departure: - station: STATION_OR_STOP_ID ``` {% raw %}{% configuration %} @@ -72,7 +72,7 @@ The example below shows a full configuration with three sensors that showcase th # Example configuration.yaml entry sensor: - platform: rmvtransport - nextdeparture: + next_departure: - station: 3000010 time_offset: 5 destinations: From 3cdf946c0f7400ed663536a366fdeaa9b051f0f5 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 13 Aug 2018 20:36:14 +0200 Subject: [PATCH 12/12] :pencil2: Markdown tweaks --- .../_components/sensor.rmvtransport.markdown | 51 ++++++++++--------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/source/_components/sensor.rmvtransport.markdown b/source/_components/sensor.rmvtransport.markdown index 96d3f810f7d7..e6584282bda6 100644 --- a/source/_components/sensor.rmvtransport.markdown +++ b/source/_components/sensor.rmvtransport.markdown @@ -26,7 +26,8 @@ sensor: next_departure: - station: STATION_OR_STOP_ID ``` -{% raw %}{% configuration %} + +{% configuration %} name: description: Name to use in the frontend. required: false @@ -37,16 +38,16 @@ stationId: required: true type: string destinations: - description: One or multiple final stop names, e.g., 'Frankfurt (Main) Hauptbahnhof' or ['Frankfurt (Main) Hauptbahnhof','Frankfurt (Main) Stadion']. This can be used to only consider a particular direction of travel. + description: "One or multiple final stop names, e.g., 'Frankfurt (Main) Hauptbahnhof' or ['Frankfurt (Main) Hauptbahnhof','Frankfurt (Main) Stadion']. This can be used to only consider a particular direction of travel." required: false type: [string] lines: - description: One or more line numbers, e.g., `'S8'` or `['S8', 'RB33', '41']` + description: "One or more line numbers, e.g., `'S8'` or `['S8', 'RB33', '41']`" required: false default: The default is the station name. type: [string, int] products: - description: One or more modes of transport `['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']`. + description: "One or more modes of transport `['U-Bahn', 'Tram', 'Bus', 'S-Bahn', 'RB', 'RE', 'EC', 'IC', 'ICE']`." required: false default: Defaults to all. type: [string] @@ -60,7 +61,7 @@ max_journeys: required: false default: The default is 5. type: string -{% endconfiguration %}{% endraw %} +{% endconfiguration %} ## {% linkable_title Examples %} @@ -73,26 +74,28 @@ The example below shows a full configuration with three sensors that showcase th sensor: - platform: rmvtransport next_departure: - - station: 3000010 - time_offset: 5 - destinations: - - 'Frankfurt (Main) Flughafen Regionalbahnhof' - - 'Frankfurt (Main) Stadion' - products: - - 'RB' - - 'RE' - - 'Bus' - - 'S' - - station: 3006907 - products: 'Bus' - destinations: ['Wiesbaden Dernsches Gelände', 'Mainz Hauptbahnhof'] - name: Destination - - station: 3006904 - lines: 'S8' - max_journeys: 5 - products: 'S' + - station: 3000010 + time_offset: 5 + destinations: + - 'Frankfurt (Main) Flughafen Regionalbahnhof' + - 'Frankfurt (Main) Stadion' + products: + - 'RB' + - 'RE' + - 'Bus' + - 'S' + - station: 3006907 + products: 'Bus' + destinations: ['Wiesbaden Dernsches Gelände', 'Mainz Hauptbahnhof'] + name: Destination + - station: 3006904 + lines: 'S8' + max_journeys: 5 + products: 'S' ``` -The first sensor will return S-Bahn, bus, RB and RE trains departures from Frankfurt Hauptbahnhof to Frankfurt Airport or Stadium that are at least 5 minutes away. +The first sensor will return S-Bahn, bus, RB and RE trains departures from Frankfurt Hauptbahnhof to Frankfurt Airport or Stadium that are at least 5 minutes away. + The second sensor returns bus departures from Wiesbaden Hauptbahnhof going to Dernsches Gelände and Mainz Hauptbahnhof. To retrieve the time of the second departure, you would use states.sensor.ENTITY_NAME.attributes.departures[1].time. + The third sensor returns all S-Bahn trains from Mainz Hauptbahnhof for line S8.