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

Geocaching integration feature updates #134017

Draft
wants to merge 55 commits into
base: dev
Choose a base branch
from
Draft

Conversation

marc7s
Copy link

@marc7s marc7s commented Dec 25, 2024

Proposed change

This update adds several new features to the Geocaching integration, enabled by the release of version 0.3.0 of the geocachingapi package, changelog. It adds support for Geocaches and Trackables, creating a device for each cache or trackable containing the relevant entities for each item. Here is an example of a device generated for a Trackable, with entities related to that device:

image

We have provided a README for the integration, containing some example templates for presenting caches and trackables on a dashboard.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

  • We (devs of this feature update) are first time Home Assistant contributors, and are therefore new to the system and the development environment. This feature update was developed by @marc7s, @belgien, @ClumpyAbbe and @hulkper, but the integration was created by @Sholofly and @reinder83
  • Nearby caches creates entities, but we are unsure exactly how Home Assistant handles this. Should the API response be different, we do not know whether new entities will be created and what happens with the old ones
  • A part of a test was commented out since adding the additional configuration step caused it to break. We do not have experience with creating config flow tests in Home Assistant and did not know how to fix this
  • The external package has a new dependency, reverse_geocode. We are not sure how this is handled in HA, but we did not add that dependency to the requirements in the manifest. We recloned the repository and rebuilt the dev container and it still worked, so we assume dependencies of requirements are installed automatically
  • We have documented the code using comments, and in the API update PR, but we have not made changes to the docs repository
  • Link to new API update with explanations and screenshots: Updates to support Geocaching Home Assistant integration feature updates Sholofly/geocachingapi-python#23

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • I have followed the perfect PR recommendations
  • The code has been formatted using Ruff (ruff format homeassistant tests)
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.

To help with the load of incoming pull requests:

marc7s and others added 30 commits November 3, 2024 19:13
Add trackable entities, and some additional cache fields
removed comments
…n, and connect the user config with HA backend
Multi code configuration for trackables, and connect configuration with backend
Add nearby cache count and radius to configuration
Replace cache find count entity with found date and found switch
Add trackable location entity and journey log attributes
Copy link

@home-assistant home-assistant bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @marc7s,@belgien,@ClumpyAbbe

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

@home-assistant
Copy link

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@home-assistant
Copy link

Hey there @Sholofly, @reinder83, mind taking a look at this pull request as it has been labeled with an integration (geocaching) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of geocaching can trigger bot actions by commenting:

  • @home-assistant close Closes the pull request.
  • @home-assistant rename Awesome new title Renames the pull request.
  • @home-assistant reopen Reopen the pull request.
  • @home-assistant unassign geocaching Removes the current integration label and assignees on the pull request, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the pull request.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the pull request.

Copy link

@home-assistant home-assistant bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @belgien,@ClumpyAbbe

It seems you haven't yet signed a CLA. Please do so here.

Once you do that we will be able to review and accept this pull request.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants