From 30f375acc44e150557f5f8047a83cd7e0d6a813d Mon Sep 17 00:00:00 2001 From: Malte Franken Date: Tue, 1 Aug 2017 02:35:51 +1000 Subject: [PATCH 1/6] Added geo rss events sensor --- .../sensor.geo_rss_events.markdown | 109 ++++++++++++++++++ .../geo-rss-incidents-group-screenshot.png | Bin 0 -> 16790 bytes source/images/supported_brands/rss.png | Bin 0 -> 15394 bytes 3 files changed, 109 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 000000000000..04b41c6e1298 --- /dev/null +++ b/source/_components/sensor.geo_rss_events.markdown @@ -0,0 +1,109 @@ +--- +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.51 +ha_iot_class: "Cloud Polling" +--- + +The `geo_rss_events` sensor retrieves events from a GeoRSS feed and +shows information of 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 +further away. Typical examples are bush fires or earthquakes. + +

+ +

+ +The reference point for comparing the distance is defined by `latitude` +and `longitude` from the basic configuration. + +Only entries of the feed are considered that define a location as point +of polygon in georss.org format or as WGS84 latitude/longitude. + +## {% linkable_title Configuration %} + +To enable the GeoRSS events sensor, add the following lines to your +`configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: geo_rss_events + name: NSW Fire Service + url: http://www.rfs.nsw.gov.au/feeds/majorIncidents.xml + icon: mdi:fire + 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'. +- **icon** (*Optional*): Any icon from [MaterialDesignIcons.com]. Prefix name with `mdi:`. Default is `mdi:alert`. +- **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 show 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_incidents + name: Qld Fire and Emergency Services + url: https://www.qfes.qld.gov.au/data/alerts/bushfireAlert.xml + icon: mdi:fire + unit_of_measurement: 'Alerts' + - platform: geo_rss_incidents + name: Tas Fire Service + url: http://www.fire.tas.gov.au/Show?pageId=colBushfireSummariesRss + icon: mdi:fire + unit_of_measurement: 'Alerts' + - platform: geo_rss_incidents + name: WA Department of Fire and Emergency Services + url: https://www.emergency.wa.gov.au/data/incident_FCAD.rss + icon: mdi:fire + - platform: geo_rss_incidents + name: ACT Emergency Services Agency + url: http://www.esa.act.gov.au/feeds/currentincidents.xml + icon: mdi:fire +``` + + +**Earthquake Alerts** + +```yaml +sensor: + - platform: geo_rss_incidents + 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_incidents + name: BGS Worlwide Earthquakes + url: http://www.bgs.ac.uk/feeds/worldSeismology.xml + categories: + - 'EQMH' + - platform: geo_rss_incidents + 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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 Date: Wed, 2 Aug 2017 02:29:47 +1000 Subject: [PATCH 2/6] smaller corrections and clarifications --- .../sensor.geo_rss_events.markdown | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/source/_components/sensor.geo_rss_events.markdown b/source/_components/sensor.geo_rss_events.markdown index 04b41c6e1298..00c78979df0b 100644 --- a/source/_components/sensor.geo_rss_events.markdown +++ b/source/_components/sensor.geo_rss_events.markdown @@ -14,27 +14,31 @@ ha_iot_class: "Cloud Polling" --- The `geo_rss_events` sensor retrieves events from a GeoRSS feed and -shows information of events filtered by distance to Home Assistant's +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 -further away. Typical examples are bush fires or earthquakes. +distant unrelated entries. Typical examples are bush fires alerts or +earthquakes.

The reference point for comparing the distance is defined by `latitude` -and `longitude` from the basic configuration. +and `longitude` in the basic configuration. -Only entries of the feed are considered that define a location as point -of polygon in georss.org format or as WGS84 latitude/longitude. +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`: +`configuration.yaml`. This is an example configuration showing bush fire +incidents from the NSW Rural Fire Service. ```yaml # Example configuration.yaml entry @@ -56,7 +60,7 @@ Configuration variables: - **name** (*Optional*): Name of the sensor used in generating the entity id. Default is 'Event Service'. - **icon** (*Optional*): Any icon from [MaterialDesignIcons.com]. Prefix name with `mdi:`. Default is `mdi:alert`. - **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 show any category. +- **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 %} @@ -65,21 +69,21 @@ Configuration variables: ```yaml sensor: - - platform: geo_rss_incidents + - platform: geo_rss_events name: Qld Fire and Emergency Services url: https://www.qfes.qld.gov.au/data/alerts/bushfireAlert.xml icon: mdi:fire unit_of_measurement: 'Alerts' - - platform: geo_rss_incidents + - platform: geo_rss_events name: Tas Fire Service url: http://www.fire.tas.gov.au/Show?pageId=colBushfireSummariesRss icon: mdi:fire unit_of_measurement: 'Alerts' - - platform: geo_rss_incidents + - platform: geo_rss_events name: WA Department of Fire and Emergency Services url: https://www.emergency.wa.gov.au/data/incident_FCAD.rss icon: mdi:fire - - platform: geo_rss_incidents + - platform: geo_rss_events name: ACT Emergency Services Agency url: http://www.esa.act.gov.au/feeds/currentincidents.xml icon: mdi:fire @@ -90,18 +94,18 @@ sensor: ```yaml sensor: - - platform: geo_rss_incidents + - 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_incidents + - platform: geo_rss_events name: BGS Worlwide Earthquakes url: http://www.bgs.ac.uk/feeds/worldSeismology.xml categories: - 'EQMH' - - platform: geo_rss_incidents + - 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: From 19deb67af9472b8f11130a5687dcde042d3ba0bd Mon Sep 17 00:00:00 2001 From: Malte Franken Date: Tue, 1 Aug 2017 02:35:51 +1000 Subject: [PATCH 3/6] Added geo rss events sensor --- .../sensor.geo_rss_events.markdown | 109 ++++++++++++++++++ .../geo-rss-incidents-group-screenshot.png | Bin 0 -> 16790 bytes source/images/supported_brands/rss.png | Bin 0 -> 15394 bytes 3 files changed, 109 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 000000000000..04b41c6e1298 --- /dev/null +++ b/source/_components/sensor.geo_rss_events.markdown @@ -0,0 +1,109 @@ +--- +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.51 +ha_iot_class: "Cloud Polling" +--- + +The `geo_rss_events` sensor retrieves events from a GeoRSS feed and +shows information of 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 +further away. Typical examples are bush fires or earthquakes. + +

+ +

+ +The reference point for comparing the distance is defined by `latitude` +and `longitude` from the basic configuration. + +Only entries of the feed are considered that define a location as point +of polygon in georss.org format or as WGS84 latitude/longitude. + +## {% linkable_title Configuration %} + +To enable the GeoRSS events sensor, add the following lines to your +`configuration.yaml`: + +```yaml +# Example configuration.yaml entry +sensor: + - platform: geo_rss_events + name: NSW Fire Service + url: http://www.rfs.nsw.gov.au/feeds/majorIncidents.xml + icon: mdi:fire + 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'. +- **icon** (*Optional*): Any icon from [MaterialDesignIcons.com]. Prefix name with `mdi:`. Default is `mdi:alert`. +- **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 show 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_incidents + name: Qld Fire and Emergency Services + url: https://www.qfes.qld.gov.au/data/alerts/bushfireAlert.xml + icon: mdi:fire + unit_of_measurement: 'Alerts' + - platform: geo_rss_incidents + name: Tas Fire Service + url: http://www.fire.tas.gov.au/Show?pageId=colBushfireSummariesRss + icon: mdi:fire + unit_of_measurement: 'Alerts' + - platform: geo_rss_incidents + name: WA Department of Fire and Emergency Services + url: https://www.emergency.wa.gov.au/data/incident_FCAD.rss + icon: mdi:fire + - platform: geo_rss_incidents + name: ACT Emergency Services Agency + url: http://www.esa.act.gov.au/feeds/currentincidents.xml + icon: mdi:fire +``` + + +**Earthquake Alerts** + +```yaml +sensor: + - platform: geo_rss_incidents + 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_incidents + name: BGS Worlwide Earthquakes + url: http://www.bgs.ac.uk/feeds/worldSeismology.xml + categories: + - 'EQMH' + - platform: geo_rss_incidents + 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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 Date: Wed, 2 Aug 2017 02:29:47 +1000 Subject: [PATCH 4/6] smaller corrections and clarifications --- .../sensor.geo_rss_events.markdown | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/source/_components/sensor.geo_rss_events.markdown b/source/_components/sensor.geo_rss_events.markdown index 04b41c6e1298..00c78979df0b 100644 --- a/source/_components/sensor.geo_rss_events.markdown +++ b/source/_components/sensor.geo_rss_events.markdown @@ -14,27 +14,31 @@ ha_iot_class: "Cloud Polling" --- The `geo_rss_events` sensor retrieves events from a GeoRSS feed and -shows information of events filtered by distance to Home Assistant's +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 -further away. Typical examples are bush fires or earthquakes. +distant unrelated entries. Typical examples are bush fires alerts or +earthquakes.

The reference point for comparing the distance is defined by `latitude` -and `longitude` from the basic configuration. +and `longitude` in the basic configuration. -Only entries of the feed are considered that define a location as point -of polygon in georss.org format or as WGS84 latitude/longitude. +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`: +`configuration.yaml`. This is an example configuration showing bush fire +incidents from the NSW Rural Fire Service. ```yaml # Example configuration.yaml entry @@ -56,7 +60,7 @@ Configuration variables: - **name** (*Optional*): Name of the sensor used in generating the entity id. Default is 'Event Service'. - **icon** (*Optional*): Any icon from [MaterialDesignIcons.com]. Prefix name with `mdi:`. Default is `mdi:alert`. - **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 show any category. +- **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 %} @@ -65,21 +69,21 @@ Configuration variables: ```yaml sensor: - - platform: geo_rss_incidents + - platform: geo_rss_events name: Qld Fire and Emergency Services url: https://www.qfes.qld.gov.au/data/alerts/bushfireAlert.xml icon: mdi:fire unit_of_measurement: 'Alerts' - - platform: geo_rss_incidents + - platform: geo_rss_events name: Tas Fire Service url: http://www.fire.tas.gov.au/Show?pageId=colBushfireSummariesRss icon: mdi:fire unit_of_measurement: 'Alerts' - - platform: geo_rss_incidents + - platform: geo_rss_events name: WA Department of Fire and Emergency Services url: https://www.emergency.wa.gov.au/data/incident_FCAD.rss icon: mdi:fire - - platform: geo_rss_incidents + - platform: geo_rss_events name: ACT Emergency Services Agency url: http://www.esa.act.gov.au/feeds/currentincidents.xml icon: mdi:fire @@ -90,18 +94,18 @@ sensor: ```yaml sensor: - - platform: geo_rss_incidents + - 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_incidents + - platform: geo_rss_events name: BGS Worlwide Earthquakes url: http://www.bgs.ac.uk/feeds/worldSeismology.xml categories: - 'EQMH' - - platform: geo_rss_incidents + - 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: From b7541e28f9eafeadde8ac02cef2c832b93df4a6c Mon Sep 17 00:00:00 2001 From: Malte Franken Date: Thu, 17 Aug 2017 23:17:26 +1000 Subject: [PATCH 5/6] icon config parameter removed after code review --- source/_components/sensor.geo_rss_events.markdown | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/source/_components/sensor.geo_rss_events.markdown b/source/_components/sensor.geo_rss_events.markdown index 00c78979df0b..e3f57763372b 100644 --- a/source/_components/sensor.geo_rss_events.markdown +++ b/source/_components/sensor.geo_rss_events.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: rss.png ha_category: Sensor -ha_version: 0.51 +ha_version: 0.52 ha_iot_class: "Cloud Polling" --- @@ -19,8 +19,8 @@ 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 -distant unrelated entries. Typical examples are bush fires alerts or -earthquakes. +representing distant unrelated entries. Typical examples are bush fires +alerts or earthquakes.

@@ -46,7 +46,6 @@ sensor: - platform: geo_rss_events name: NSW Fire Service url: http://www.rfs.nsw.gov.au/feeds/majorIncidents.xml - icon: mdi:fire unit_of_measurement: 'Incidents' categories: - 'Emergency Warning' @@ -58,7 +57,6 @@ 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'. -- **icon** (*Optional*): Any icon from [MaterialDesignIcons.com]. Prefix name with `mdi:`. Default is `mdi:alert`. - **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'. @@ -72,21 +70,17 @@ sensor: - platform: geo_rss_events name: Qld Fire and Emergency Services url: https://www.qfes.qld.gov.au/data/alerts/bushfireAlert.xml - icon: mdi:fire unit_of_measurement: 'Alerts' - platform: geo_rss_events name: Tas Fire Service url: http://www.fire.tas.gov.au/Show?pageId=colBushfireSummariesRss - icon: mdi:fire 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 - icon: mdi:fire - platform: geo_rss_events name: ACT Emergency Services Agency url: http://www.esa.act.gov.au/feeds/currentincidents.xml - icon: mdi:fire ``` From eb1619f69a34c4d58d863481e3c6cc6373932759 Mon Sep 17 00:00:00 2001 From: Malte Franken Date: Sun, 24 Sep 2017 20:25:11 +1000 Subject: [PATCH 6/6] next release updated --- source/_components/sensor.geo_rss_events.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/sensor.geo_rss_events.markdown b/source/_components/sensor.geo_rss_events.markdown index e3f57763372b..188e895f11a0 100644 --- a/source/_components/sensor.geo_rss_events.markdown +++ b/source/_components/sensor.geo_rss_events.markdown @@ -9,7 +9,7 @@ sharing: true footer: true logo: rss.png ha_category: Sensor -ha_version: 0.52 +ha_version: 0.55 ha_iot_class: "Cloud Polling" ---