From ef0f9c0d3423f6320da821d56341fedea6963964 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Fri, 4 Aug 2017 12:42:04 -0600 Subject: [PATCH 1/6] Added documentation for the RainMachine switch platform --- .../_components/switch.rainmachine.markdown | 77 ++++++++++++++++++ .../images/supported_brands/rainmachine.png | Bin 0 -> 52258 bytes 2 files changed, 77 insertions(+) create mode 100644 source/_components/switch.rainmachine.markdown create mode 100644 source/images/supported_brands/rainmachine.png diff --git a/source/_components/switch.rainmachine.markdown b/source/_components/switch.rainmachine.markdown new file mode 100644 index 000000000000..7768dc0c2ff9 --- /dev/null +++ b/source/_components/switch.rainmachine.markdown @@ -0,0 +1,77 @@ +--- +layout: page +title: "RainMachine Switch" +description: "Instructions on how to use RainMachine units with Home Assistant." +date: 2017-08-04 12:00 +sidebar: true +comments: false +sharing: true +footer: true +logo: rainmachine.png +ha_category: Switch +ha_iot_class: "Cloud Polling" +ha_release: 0.50.3 +--- + +The `rainmachine` switch platform allows you to control programs and zones within +a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/). + +## {% linkable_title Configuring the Platform %} + +The platform allows for both local (i.e., directly across the LAN) and remote +(i.e., through RainMachine's cloud API) access; the route you choose will +dictate what your configuration should look like. + +For local access, specify the IP address/hostname of your RainMachine unit +and your RainMachine password: + +```yaml +switch: + platform: rainmachine + ip_address: 192.168.1.100 + password: my_password_123 +``` + +For remote access, specify your RainMachine username/email and password: + +```yaml +switch: + platform: rainmachine + email: user@host.com + password: my_password_123 +``` + +Configuration Variables: + +- **ip_address** (*Optional*): The IP address of your RainMachine unit +- **email** (*Optional*): Your RainMachine username/email +- **password** (*Required*): Your RainMachine password +- **zone_run_time** (*Optional*): The number of seconds that a zone should run when +turned on; defaults to 600 (10 minutes) + +## {% linkable_title Controlling Your Device %} + +After Home Assistant loads, you will see new switches for every enabled program +and zone. These work as expected: + +- Program On/Off: starts/stops a program +- Zone On/Off: starts/stops a zone (using the `zone_run_time` parameter to +determine how long to run for) + +Programs and zones are linked. If a program is running its final zone, you will +see both the program and zone switches turned on; turning either one off will +turn the other one off (just like in the web app). + +## {% linkable_title Weblink %} + +If you would like to see and control more detailed information, create an [iFrame](/components/panel_iframe/) that renders the RainMachine web app: + +```yaml +panel_iframe: + rainmachine: + title: RainMachine + url: "https://my.rainmachine.com/s//ui/" + icon: mdi:water-pump +``` + +You can find `` by logging into [https://my.rainmachine.com](https://my.rainmachine.com ) and taking note of the URL. diff --git a/source/images/supported_brands/rainmachine.png b/source/images/supported_brands/rainmachine.png new file mode 100644 index 0000000000000000000000000000000000000000..15fd5faaa649c150b2acfdda91ab9dbe229a592c GIT binary patch literal 52258 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

7N~t2bP59yZ9k{82B{Ja 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 Date: Fri, 4 Aug 2017 13:59:10 -0600 Subject: [PATCH 2/6] Small adjustments to version and verbiage --- source/_components/switch.rainmachine.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_components/switch.rainmachine.markdown b/source/_components/switch.rainmachine.markdown index 7768dc0c2ff9..d4c69199b44e 100644 --- a/source/_components/switch.rainmachine.markdown +++ b/source/_components/switch.rainmachine.markdown @@ -10,7 +10,7 @@ footer: true logo: rainmachine.png ha_category: Switch ha_iot_class: "Cloud Polling" -ha_release: 0.50.3 +ha_release: 0.51.0 --- The `rainmachine` switch platform allows you to control programs and zones within @@ -18,7 +18,7 @@ a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/). ## {% linkable_title Configuring the Platform %} -The platform allows for both local (i.e., directly across the LAN) and remote +The platform allows for either local (i.e., directly across the LAN) and remote (i.e., through RainMachine's cloud API) access; the route you choose will dictate what your configuration should look like. From a23ee50ef68208dd5a21967c86178af8bf12c3c1 Mon Sep 17 00:00:00 2001 From: Fredrik Lindqvist Date: Fri, 4 Aug 2017 22:45:09 +0200 Subject: [PATCH 3/6] Update switch.rainmachine.markdown --- source/_components/switch.rainmachine.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/switch.rainmachine.markdown b/source/_components/switch.rainmachine.markdown index d4c69199b44e..621440799e5d 100644 --- a/source/_components/switch.rainmachine.markdown +++ b/source/_components/switch.rainmachine.markdown @@ -10,7 +10,7 @@ footer: true logo: rainmachine.png ha_category: Switch ha_iot_class: "Cloud Polling" -ha_release: 0.51.0 +ha_release: 0.51 --- The `rainmachine` switch platform allows you to control programs and zones within From 15eba5714252d2cfd9c0cdd961271baf5170b2c2 Mon Sep 17 00:00:00 2001 From: Fredrik Lindqvist Date: Fri, 4 Aug 2017 22:45:53 +0200 Subject: [PATCH 4/6] Update switch.rainmachine.markdown --- source/_components/switch.rainmachine.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/switch.rainmachine.markdown b/source/_components/switch.rainmachine.markdown index 621440799e5d..cdb759fd5a48 100644 --- a/source/_components/switch.rainmachine.markdown +++ b/source/_components/switch.rainmachine.markdown @@ -18,7 +18,7 @@ a [RainMachine smart Wi-Fi sprinkler controller](http://www.rainmachine.com/). ## {% linkable_title Configuring the Platform %} -The platform allows for either local (i.e., directly across the LAN) and remote +The platform allows for either local (i.e., directly across the LAN) or remote (i.e., through RainMachine's cloud API) access; the route you choose will dictate what your configuration should look like. From 440fc355186965d23e3a4fc270ffeb17ca5f5682 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Fri, 4 Aug 2017 16:08:55 -0600 Subject: [PATCH 5/6] Added caveat about remote API + programs --- source/_components/switch.rainmachine.markdown | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/_components/switch.rainmachine.markdown b/source/_components/switch.rainmachine.markdown index d4c69199b44e..2ab1b81b7fa1 100644 --- a/source/_components/switch.rainmachine.markdown +++ b/source/_components/switch.rainmachine.markdown @@ -75,3 +75,10 @@ panel_iframe: ``` You can find `` by logging into [https://my.rainmachine.com](https://my.rainmachine.com ) and taking note of the URL. + +## {% linkable_title For Awareness %} + +The remote RainMachine API currently has two broken operations (i.e., they return +error codes): starting a program and stopping a program. Please note that +starting/stopping programs with the remote API is disabled until RainMachine +can fix the issue. From be0cff2a4a6bf9dfe5c6ad4afc47e937cadf95b1 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Wed, 6 Sep 2017 13:03:45 -0600 Subject: [PATCH 6/6] Adds documentation for the proposed AirVisual sensor platform --- source/_components/sensor.airvisual.markdown | 112 +++++++++++++++++++ source/images/supported_brands/airvisual.jpg | Bin 0 -> 17694 bytes 2 files changed, 112 insertions(+) create mode 100644 source/_components/sensor.airvisual.markdown create mode 100644 source/images/supported_brands/airvisual.jpg diff --git a/source/_components/sensor.airvisual.markdown b/source/_components/sensor.airvisual.markdown new file mode 100644 index 000000000000..8e1359c9c355 --- /dev/null +++ b/source/_components/sensor.airvisual.markdown @@ -0,0 +1,112 @@ +--- +layout: page +title: "AirVisual" +description: "Instructions on how to use AirVisual data within Home Assistant" +date: 2017-09-06 12:15 +sidebar: true +comments: false +sharing: true +footer: true +logo: airvisual.jpg +ha_category: Health +ha_release: 0.53 +ha_iot_class: "Cloud Polling" +--- + +The `airvisual` sensor platform queries the [AirVisual](https://airvisual.com/) API for air quality +data on the nearest city to a latitude and longitude. The resulting information +creates sensors for the Air Quality Index (AQI), the human-friendly air quality +level, and the main pollutant of that area. Sensors that confirm to either/both +the [U.S. and Chinese air quality standards](http://www.clm.com/publication.cfm?ID=366) can be created. + +This platform requires an AirVisual API key, which can be obtained [here](https://airvisual.com/api). Note +that the platform was designed using the "Community" package; the "Startup" +and "Enterprise" package keys should continue to function, but actual results +may vary (or not work at all). + +

+The "Community" API key is limited to 10,000 calls per month. In order to leave +a buffer, the `airvisual` platform queries the API every 10 minutes. +

+ +## {% linkable_title Configuring the Platform %} + +To enable this platform, add the following lines to your `configuration.yaml` +file: + +```yaml +sensor: + - platform: airvisual + api_key: abc123 + monitored_conditions: + - us + - cn + latitude: 42.81212 + longitude: 108.12422 + radius: 500 +``` + +Configuration variables: + +- **api_key** (*Required*): your AirVisual API key +- **monitored_conditions** (*Required*): the air quality standard(s) to use +(`us` for U.S., `cn` for Chinese) +- **latitude** (*Optional*): the latitude to monitor; if excluded, the latitude +defined in `configuration.yaml` will be used +- **longitude** (*Optional*): the longitude to monitor; if excluded, the longitude +defined in `configuration.yaml` will be used +- **radius** (*Optional*): the radius (in meters) around the latitude/longitude to +search for the nearest city; defaults to `1000` + +## {% linkable_title Sensor Types %} + +When configured, the platform will create three sensors for each configured +air quality standard: + +### Air Quality Index + +**Description:** This sensor displays a numeric air quality index (AQI), a metric +for the overall "health" of the air. + +**Example Sensor Name:** `sensor.chinese_air_quality_index` + +**Example Sensor Value:** `32` + +**Explanation:** + +AQI | Status | Description +------- | :----------------: | ---------- +0 - 50 | **Good** | Air quality is considered satisfactory, and air pollution poses little or no risk +51 - 100 | **Moderate** | Air quality is acceptable; however, for some pollutants there may be a moderate health concern for a very small number of people who are unusually sensitive to air pollution +101 - 150 | **Unhealthy for Sensitive Groups** | Members of sensitive groups may experience health effects. The general public is not likely to be affected +151 - 200 | **Unhealthy** | Everyone may begin to experience health effects; members of sensitive groups may experience more serious health effects +201 - 300 | **Very unhealthy** | Health warnings of emergency conditions. The entire population is more likely to be affected +301+ | **Hazardous** | Health alert: everyone may experience more serious health effects + +### Air Polution Level + +**Description:** This sensor displays the associated `Status` (from the above +table) for the current AQI. + +**Sample Sensor Name:** `sensor.us_air_pollution_level` + +**Example Sensor Value:** `Moderate` + +### Main Pollutant + +**Description:** This sensor displays the pollutant whose value is currently +highest. + +**Sample Sensor Name:** `sensor.us_main_pollutant` + +**Example Sensor Value:** `PM2.5` + +**Explanation:** + +Pollutant | Symbol | More Info +------- | :----------------: | ---------- +Particulate (<= 2.5 μm) | PM2.5 | [EPA: Particulate Matter (PM) Pollution ](https://www.epa.gov/pm-pollution) +Particulate (<= 10 μm) | PM10 | [EPA: Particulate Matter (PM) Pollution ](https://www.epa.gov/pm-pollution) +Ozone | O | [EPA: Ozone Pollution](https://www.epa.gov/ozone-pollution) +Sulpher Dioxide | SO2 | [EPA: Sulfur Dioxide (SO2) Pollution](https://www.epa.gov/so2-pollution) +Carbon Monoxide | CO | [EPA: Carbon Monoxide (CO) Pollution in Outdoor Air](https://www.epa.gov/co-pollution) diff --git a/source/images/supported_brands/airvisual.jpg b/source/images/supported_brands/airvisual.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ddce6892ae7b2fcaf936bdb680833892ffceab87 GIT binary patch literal 17694 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 literal 0 HcmV?d00001