Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GeoJSON platform #6316

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions source/_components/geo_location.geo_json_events.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
layout: page
title: "GeoJSON Events"
description: "Instructions on how to integrate GeoJSON feeds into Home Assistant."
date: 2018-09-19 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: geo_location.png
ha_category: Geo Location
ha_iot_class: "Cloud Polling"
ha_release: "0.79"
---

The `geo_json_events` platform lets you integrate GeoJSON feeds. It retrieves events from a feed and shows information of those events filtered by distance to Home Assistant's location.
All entries in the GeoJSON feed must define a `geometry` which typically is a point or polygon with geo coordinates. In addition, this platform will look for a `title` key in the entry's `properties` and use that as the entity's name.

Entities are generated, updated and removed automatically with each update from the GeoJSON feed. Each entity defines latitude and longitude and will be shown on the map automatically. The distance in kilometers is available as the state of each entity.

The data is updated every 5 minutes.

## {% linkable_title Configuration %}

To integrate a GeoJSON feed, add the following lines to your `configuration.yaml`. This is an example configuration showing [earthquake data provided by the U.S. Geological Survey](https://earthquake.usgs.gov/earthquakes/feed/v1.0/geojson.php).

```yaml
# Example configuration.yaml entry
geo_location:
- platform: geo_json_events
url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
```

{% configuration %}
url:
description: Full URL of the GeoJSON feed.
required: true
type: string
radius:
description: The distance in kilometers around the Home Assistant's coordinates in which events are considered.
required: false
type: string
default: 20km
{% endconfiguration %}

## {% linkable_title Advanced Configuration Example %}

When integrating several GeoJSON feeds, it may be useful to distinguish the entities of different feeds. The easiest way to do that is by defining an [`entity_namespace`](/docs/configuration/platform_options/#entity-namespace/) for each platform which will prefix each entity ID with the defined value.

```yaml
# Example configuration.yaml entry
geo_location:
- platform: geo_json_events
url: https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
radius: 250
entity_namespace: 'usgs_earthquakes'
```
2 changes: 1 addition & 1 deletion source/_components/geo_location.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
ha_category: Other
logo: geo_location.png
ha_release: "0.78"
---

Expand Down
Binary file added source/images/supported_brands/geo_location.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.