From 02196f23a507fa3d17a6c0ca4b9f87501ddfb01f Mon Sep 17 00:00:00 2001 From: Malte Franken Date: Sun, 24 Sep 2017 21:07:15 +1000 Subject: [PATCH] GeoRSS sensor (#3124) * Added geo rss events sensor * smaller corrections and clarifications * Added geo rss events sensor * smaller corrections and clarifications * icon config parameter removed after code review * next release updated --- .../sensor.geo_rss_events.markdown | 107 ++++++++++++++++++ .../geo-rss-incidents-group-screenshot.png | Bin 0 -> 16790 bytes source/images/supported_brands/rss.png | Bin 0 -> 15394 bytes 3 files changed, 107 insertions(+) create mode 100644 source/_components/sensor.geo_rss_events.markdown create mode 100644 source/images/screenshots/geo-rss-incidents-group-screenshot.png create mode 100644 source/images/supported_brands/rss.png diff --git a/source/_components/sensor.geo_rss_events.markdown b/source/_components/sensor.geo_rss_events.markdown new file mode 100644 index 00000000000..188e895f11a --- /dev/null +++ b/source/_components/sensor.geo_rss_events.markdown @@ -0,0 +1,107 @@ +--- +layout: page +title: GeoRSS Events Sensor +description: "Instructions on how to set up GeoRSS sensors within Home Assistant." +date: 2017-07-31 +sidebar: true +comments: false +sharing: true +footer: true +logo: rss.png +ha_category: Sensor +ha_version: 0.55 +ha_iot_class: "Cloud Polling" +--- + +The `geo_rss_events` sensor retrieves events from a GeoRSS feed and +shows information of those events filtered by distance to Home Assistant's +location and grouped by category. + +This sensor is particularly useful if events occur unexpectedly in the +vicinity of the home while the GeoRSS feed also contains many events +representing distant unrelated entries. Typical examples are bush fires +alerts or earthquakes. + +

+ +

+ +The reference point for comparing the distance is defined by `latitude` +and `longitude` in the basic configuration. + +Only entries of the feed are considered that define a location as `point` +or `polygon` in *georss.org* format or as *WGS84 latitude/longitude*. + +The data is updated every 5 minutes. + +## {% linkable_title Configuration %} + +To enable the GeoRSS events sensor, add the following lines to your +`configuration.yaml`. This is an example configuration showing bush fire +incidents from the NSW Rural Fire Service. + +```yaml +# Example configuration.yaml entry +sensor: + - platform: geo_rss_events + name: NSW Fire Service + url: http://www.rfs.nsw.gov.au/feeds/majorIncidents.xml + unit_of_measurement: 'Incidents' + categories: + - 'Emergency Warning' + - 'Watch and Act' + - 'Advice' +``` + +Configuration variables: + +- **url** (*Required*): Full URL of the GeoRSS feed. +- **name** (*Optional*): Name of the sensor used in generating the entity id. Default is 'Event Service'. +- **radius** (*Optional*): The distance in kilometres around the Home Assistant's coordinates in which events are considered. Default is: 20km. +- **categories** (*Optional*): List of event category names found in the GeoRSS feed. A separate sensor is created for each category defined. Default is to join events from all categories into an 'Any' category. +- **unit_of_measurement** (*Optional*): The type of events found in the GeoRSS feed. Default is 'Events'. + +## {% linkable_title Example Feeds %} + +**Bush Fire Alerts** + +```yaml +sensor: + - platform: geo_rss_events + name: Qld Fire and Emergency Services + url: https://www.qfes.qld.gov.au/data/alerts/bushfireAlert.xml + unit_of_measurement: 'Alerts' + - platform: geo_rss_events + name: Tas Fire Service + url: http://www.fire.tas.gov.au/Show?pageId=colBushfireSummariesRss + unit_of_measurement: 'Alerts' + - platform: geo_rss_events + name: WA Department of Fire and Emergency Services + url: https://www.emergency.wa.gov.au/data/incident_FCAD.rss + - platform: geo_rss_events + name: ACT Emergency Services Agency + url: http://www.esa.act.gov.au/feeds/currentincidents.xml +``` + + +**Earthquake Alerts** + +```yaml +sensor: + - platform: geo_rss_events + name: USGS All Earthquakes + url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.atom + categories: + - 'Past Hour' + - 'Past Day' + - platform: geo_rss_events + name: BGS Worlwide Earthquakes + url: http://www.bgs.ac.uk/feeds/worldSeismology.xml + categories: + - 'EQMH' + - platform: geo_rss_events + name: Recent significant earthquake reports (Canada) + url: http://www.earthquakescanada.nrcan.gc.ca/index-en.php?tpl_region=canada&tpl_output=rss + categories: + - 'Earthquake Report' +``` diff --git a/source/images/screenshots/geo-rss-incidents-group-screenshot.png b/source/images/screenshots/geo-rss-incidents-group-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..cca54f6d7514a7273072a3149dbd896e49c3a0c9 GIT binary patch literal 16790 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