From 1afe322e6aed18a8c8bcd5571c8bfc2a1f59e33e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 18 Dec 2018 09:13:11 +0100 Subject: [PATCH] Add openSenseMap docs --- .../air_pollutants.opensensemap.markdown | 44 ++++++++++++++++++ .../images/supported_brands/opensensemap.png | Bin 0 -> 14539 bytes 2 files changed, 44 insertions(+) create mode 100644 source/_components/air_pollutants.opensensemap.markdown create mode 100644 source/images/supported_brands/opensensemap.png diff --git a/source/_components/air_pollutants.opensensemap.markdown b/source/_components/air_pollutants.opensensemap.markdown new file mode 100644 index 00000000000..7c79058e35e --- /dev/null +++ b/source/_components/air_pollutants.opensensemap.markdown @@ -0,0 +1,44 @@ +--- +layout: page +title: "OpenSenseMap" +description: "Instructions on how to setup openSenseMap sensors in Home Assistant." +date: 2018-12-15 00:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: opensensemap.png +ha_category: Health +ha_release: 0.85 +ha_iot_class: "Cloud Polling" +--- + +The `opensensemap` air pollutants platform will query the open data API of [openSenseMap.org](https://opensensemap.org/) to monitor air quality sensor station. + +## {% linkable_title Setup %} + +To get the ID of a station you need to select it on the [openSense map](https://opensensemap.org/) and find it in the addressbar of your browser. It's the last part of the URL, e.g., `5b450e565dc1ec001bf7cd1d` [https://opensensemap.org/explore/5b450e565dc1ec001bf7cd1d](https://opensensemap.org/explore/5b450e565dc1ec001bf7cd1d). + +## {% linkable_title Manual Configuration %} + +To enable this platform, add the following lines to your `configuration.yaml` file: + +```yaml +# Example configuration.yaml entry +air_pollutants: + - platform: opensensemap + station_id: STATION_ID +``` + +{% configuration %} +station_id: + description: The ID of the station to monitor. + required: true + type: string +name: + description: Name of the sensor to use in the frontend. + required: false + default: Station name + type: string +{% endconfiguration %} + diff --git a/source/images/supported_brands/opensensemap.png b/source/images/supported_brands/opensensemap.png new file mode 100644 index 0000000000000000000000000000000000000000..3fa7a7f14b6b0090494a3a8e8289eee2fe8e4e3e GIT binary patch literal 14539 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 ptgNi8tgNi8tgNi8tgI5z{{x^5%