From 28c12b7438f0810ee4dea35518c2b6c3ccdbba40 Mon Sep 17 00:00:00 2001 From: Dan Ports Date: Fri, 31 Mar 2017 12:28:31 -0700 Subject: [PATCH] Add documentation for Lyft sensor (#2304) --- source/_components/sensor.lyft.markdown | 61 ++++++++++++++++++++++++ source/images/supported_brands/lyft.png | Bin 0 -> 36518 bytes 2 files changed, 61 insertions(+) create mode 100644 source/_components/sensor.lyft.markdown create mode 100644 source/images/supported_brands/lyft.png diff --git a/source/_components/sensor.lyft.markdown b/source/_components/sensor.lyft.markdown new file mode 100644 index 00000000000..a54970ed890 --- /dev/null +++ b/source/_components/sensor.lyft.markdown @@ -0,0 +1,61 @@ +--- +layout: page +title: "Lyft" +description: "How to integrate Lyft in Home Assistant" +date: 2017-03-19 21:05 +sidebar: true +comments: false +sharing: true +footer: true +logo: lyft.png +ha_category: Transport +ha_iot_class: "Cloud Polling" +ha_release: 0.41 +--- + + +The `lyft` sensor will give you time and price estimates for all available [Lyft](https://lyft.com) products at the given `start_latitude` and `start_longitude`.The `ATTRIBUTES` are used to provide extra information about products, such as vehicle capacity and fare rates. If an `end_latitude` and `end_longitude` are specified, a price estimate will also be provided. One sensor will be created for each product at the given `start` location, for pickup time. A second sensor for each product, for estimated price, will be created if a destination is specified. The sensor is powered by the official Lyft [API](https://developer.lyft.com/reference/). + + +You must create an application [here](https://www.lyft.com/developers/manage) to obtain a `client_id` and `client_secret`. + +To enable this sensor, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: lyft + client_id: [...] + client_secret: [...] + start_latitude: 37.8116380 + start_longitude: -122.2648050 + end_latitude: 37.615223 + end_longitude: -122.389977 +``` + +Configuration variables: + +- **client_id** (*Required*): A client id obtained from [developer.lyft.com](https://developer.lyft.com) after [creating an app](https://www.lyft.com/developers/manage). +- **client_secret** (*Required*) A client secret obtained from [developer.lyft.com](https://developer.lyft.com) after [creating an app](https://www.lyft.com/developers/manage). +- **start_latitude** (*Required*): The starting latitude for a trip. +- **start_longitude** (*Required*): The starting longitude for a trip. +- **end_latitude** (*Optional*): The ending latitude for a trip. While `end_latitude` is optional, providing an `end_latitude`/`end_longitude` allows price estimates as well as time. +- **end_longitude** (*Optional*): The ending longitude for a trip. While `end_longitude` is optional, providing an `end_latitude`/`end_longitude` allows price estimates as well as time. +- **product_ids** (*Optional*): A list of Lyft product IDs. + +A full configuration entry could look like the sample below: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: lyft + client_id: [...] + client_secret: [...] + start_latitude: 37.8116380 + start_longitude: -122.2648050 + end_latitude: 37.615223 + end_longitude: -122.389977 + product_ids: + - 'lyft' + - 'lyft_plus' +``` diff --git a/source/images/supported_brands/lyft.png b/source/images/supported_brands/lyft.png new file mode 100644 index 0000000000000000000000000000000000000000..b4fcb7367db5a1344c03c67faa2bee89535090f5 GIT binary patch literal 36518 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 bvZ2(@&#c;z;`ul94(maz{{9?o>p%Vvi22_6 literal 0 HcmV?d00001