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

Add integration for Vogel's MotionMount #103498

Merged
merged 50 commits into from
Dec 22, 2023

Conversation

RJPoelstra
Copy link
Contributor

@RJPoelstra RJPoelstra commented Nov 6, 2023

Proposed change

This is a new integration to support the Vogel's MotionMount, an electronic TV wall mount.

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

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 Black (black --fast 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.
  • Untested files have been added to .coveragerc.

To help with the load of incoming pull requests:

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 @RJPoelstra

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!

Copy link
Member

@joostlek joostlek left a comment

Choose a reason for hiding this comment

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

Initial review

homeassistant/components/motionmount/__init__.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/__init__.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/__init__.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/config_flow.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/coordinator.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/entity.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/entity.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/number.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/number.py Outdated Show resolved Hide resolved
@home-assistant
Copy link

home-assistant bot commented Nov 7, 2023

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 home-assistant bot marked this pull request as draft November 7, 2023 09:54
@RJPoelstra RJPoelstra force-pushed the vogels_motionmount branch 2 times, most recently from 01bc296 to cf0c290 Compare November 8, 2023 08:05
@RJPoelstra RJPoelstra marked this pull request as ready for review November 8, 2023 08:05
homeassistant/components/motionmount/entity.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/number.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/__init__.py Outdated Show resolved Hide resolved
homeassistant/components/motionmount/__init__.py Outdated Show resolved Hide resolved
@home-assistant home-assistant bot marked this pull request as draft November 8, 2023 11:58
@RJPoelstra RJPoelstra marked this pull request as ready for review November 9, 2023 10:18
@RJPoelstra RJPoelstra marked this pull request as ready for review December 22, 2023 08:39
@bdraco
Copy link
Member

bdraco commented Dec 22, 2023

@joostlek I'll probably be asleep when you see this: unless I missed something else, I think this is likely good to merge once https://github.com/home-assistant/core/pull/103498/files#r1434853126 is addressed.

@joostlek joostlek changed the title New integration: Vogel's MotionMount Add integration for Vogel's MotionMount Dec 22, 2023
@joostlek joostlek merged commit 2c2e617 into home-assistant:dev Dec 22, 2023
49 checks passed
Bre77 pushed a commit to Bre77/core that referenced this pull request Dec 22, 2023
* Skeleton for Vogel's MotionMount support.

* Generated updates.

* Add validation of the discovered information.

* Add manual configuration

* Use a mac address as a unique id

* Add tests for config_flow

* Add a 'turn' sensor entity.

* Add all needed sensors.

* Add number and select entity for control of MotionMount

* Update based on development checklist

* Preset selector now updates when a preset is chosen

* Fix adding presets selector to device

* Remove irrelevant TODO

* Bump python-MotionMount requirement

* Invert direction of turn slider

* Prepare for PR

* Make sure entities have correct values when created

* Use device's mac address as unique id for entities.

* Fix missing files in .coveragerc

* Remove typing ignore from device library.

Improved typing also gave rise to the need to improve the callback mechanism

* Improve typing

* Convert property to shorthand form

* Remove unneeded CONF_NAME in ConfigEntry

* Add small comment

* Refresh coordinator on notification from MotionMount

* Use translation for entity

* Bump python-MotionMount

* Raise `ConfigEntryNotReady` when connect fails

* Use local variable

* Improve exception handling

* Reduce duplicate code

* Make better use of constants

* Remove unneeded callback

* Remove other occurrence of unneeded callback

* Improve removal of suffix

* Catch 'getaddrinfo' exception

* Add config flow tests for invalid hostname

* Abort if device with same hostname is already configured

* Make sure we connect to a device with the same unique id as configured

* Convert function names to snake_case

* Remove unneeded commented-out code

* Use tuple

* Make us of config_entry id when mac is missing

* Prevent update of entities when nothing changed

* Don't store data in `hass.data` until we know we will proceed

* Remove coordinator

* Handle situation where mac is EMPTY_MAC

* Disable polling

* Fix failing hassfest

* Avoid calling unique-id-less discovery handler for situations where we've an unique id
@RJPoelstra RJPoelstra deleted the vogels_motionmount branch December 22, 2023 12:08
@github-actions github-actions bot locked and limited conversation to collaborators Dec 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants