Add GDACS feed integration#31235
Conversation
|
Please link a docs PR in the PR description. Then we can merge. |
|
Doco is in the making, and I will create a PR tomorrow. |
|
Are you happy with the Silver rating I was aiming for with this integration, or is there a separate process/assessment? |
|
Please copy the bullet list with criteria of the silver level and make a comment here for each point. Some criteria may not apply etc. https://developers.home-assistant.io/docs/en/integration_quality_scale_index.html |
|
Silver
Yes, it is handled within this new component using a third-party library.
Scan interval is set to 5 minutes by default. This value can be overridden through configuration.
n/a. The integration does not attempt to connect during the setup.
n/a. This integration uses a public feed that does not require authentication.
The integration does not log a message if the feed becomes unavailable. Instead, the integration automatically creates
As above.
n/a. Instead, the integration will remove
The ID is auto-generated from the entity's title which itself is made up of information from each feed entry which is made unambiguous within the feed. |
|
Looks good. I think this integration actually qualifies for platinum level. |
|
Thanks, let's see how the integration scores against the remaining criteria: Gold
Yes.
Yes, in this case, no duplicate entries allowed for the exact same location.
Unit tests available.
n/a. This is probably not desirable for a web-based feed.
n/a. No devices involved.
n/a. The state is a numeric value. Attributes however are ingested as-is from the original source without translation (and a frontend translation would be impossible because the text-based attributes are mostly editorial).
Unit tests available in HA, as well as in the third-party library.
Yes, it does. Platinum
Yes, supported.
Yes, all async.
Yes, the third-party library expects a websession input parameter. |
|
Alright, I added the remaining criteria. The only thing missing was the |
|
Nice! Just set the |
Breaking change
Proposed change
This is a new
geo_locationintegration which retrieves data from the Global Disaster Alert and Coordination System (GDACS) GeoRSS feed. Relevant data about major droughts, earthquakes, floods, tropical cyclones, tsunamis and volcanoes worldwide is converted intogeo_locationentities with loads of useful information made available as state attributes.In addition, a sensor is created and its state shows the number of
geo_locationentities currently managed by this integration, and in addition shows some details about the last update from the feed (successful or error), time of last update, time of last successful update, number of entities created/updated/removed.This integration comes with an async library and config flow.
Type of change
Example entry for
configuration.yaml:Additional information
Checklist
black --fast homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all..coveragerc.The integration reached or maintains the following Integration Quality Scale: