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

Bump screenlogicpy to v0.9.0 #92475

Merged
merged 47 commits into from
Sep 9, 2023
Merged

Conversation

dieselrabbit
Copy link
Contributor

@dieselrabbit dieselrabbit commented May 4, 2023

Breaking change

Some entity names have changed. Integration will migrate old entities to new names/ids, but users may have to manually update old entities used in dashboards.

Invalid entities such as "Saturation Index" are removed if the required equipment is not configured.

Proposed change

  • Bump screenlogicpy to v0.9.0.
    dieselrabbit/screenlogicpy@v0.8.2...v0.9.0
  • Support major data refactor in api library.
    • Explicitly define supported entities
    • Update screenlogic entities to use EntityDescription.
      • Explicitly define supported data
    • Handle new keys/names from api library that were renamed for clarity and/or accuracy.
      • Migrate old entities to new entity id/names.
      • Remove existing entities missing required equipment
    • Supports new binary_sensor entities
      • ORP HIGH Alarm
      • PH LOW Alarm
      • SI Corrosive
      • SI Scaling

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

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request:

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:

@home-assistant
Copy link

home-assistant bot commented May 4, 2023

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

Code owner commands

Code owners of screenlogic 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 screenlogic Removes the current integration label and assignees on the pull request, add the integration domain after the command.

@dieselrabbit
Copy link
Contributor Author

Very much a DRAFT

@dieselrabbit dieselrabbit marked this pull request as ready for review May 15, 2023 07:40
@dieselrabbit
Copy link
Contributor Author

Running in production for over a week. No issues. I think it's ready for any further review.

@bdraco
Copy link
Member

bdraco commented Aug 27, 2023

Those circuits do appear on the intellitouch panel main screen so don't show might not be so useful

@dieselrabbit
Copy link
Contributor Author

I think that setting may only affect the ScreenLogic app. I'll have to do some more research.

@dieselrabbit
Copy link
Contributor Author

Confirmed, that setting is specifically labeled for "ScreenLogic Display" and described as such in the ScreenLogic2 User Manual.
This functionality was added in #88518. image

@dieselrabbit dieselrabbit marked this pull request as ready for review August 28, 2023 15:21
@bdraco
Copy link
Member

bdraco commented Aug 29, 2023

Going to do a delete, revert, re-setup, upgrade later today to see which problems are cruft and what still needs to be addressed (if anything)

@bdraco
Copy link
Member

bdraco commented Aug 29, 2023

Houston before
Screenshot 2023-08-29 at 8 24 30 AM

@bdraco
Copy link
Member

bdraco commented Aug 29, 2023

After update

Screenshot 2023-08-29 at 8 32 57 AM

@bdraco
Copy link
Member

bdraco commented Aug 29, 2023

Screenshot 2023-08-29 at 8 34 50 AM

air blower, cleaner, jets all disappeared

@bdraco
Copy link
Member

bdraco commented Aug 29, 2023

Confirmed, that setting is specifically labeled for "ScreenLogic Display" and described as such in the ScreenLogic2 User Manual. This functionality was added in #88518. image

So what I think happened is since they were already enabled I didn't notice the problem in that PR. I'm only seeing it now since I've removing/re-adding and the entities are disabled by default now.

I'm leaning towards we shouldn't check this flag since it hides entities that are displayed on the main control panel which is not expected and likely not desirable behavior

@dieselrabbit
Copy link
Contributor Author

I'm a big proponent of the user experience. I've thought about the situation here a lot today. Probably more than I should have. I came to the conclusion that if "Don't Show" was the default setting when first setting up a ScreenLogic system, I'd agree. In this case though, circuits have to be manually set to "Don't Show", indicating it's most likely an intentional configuration and in my opinion should still apply. The configuration app will even reset the Show On setting, removing 'Don't Show' when changing a circuit's function to anything other than "[NOT USED]".

At one point I wondered if I were to re-address this, would entity_registry_visible_default be a better match for the "Don't Show" setting, thinking Don't Show just means it's not on the Pool, Spa, Features, or Lights pages; but in checking the mobile app, I see a circuit set to Don't Show isn't included anywhere, even in the Summary -> Circuits page so, it's not a match to the apps experience. Still that could be a better but not incongruent experience.

@bdraco
Copy link
Member

bdraco commented Aug 30, 2023

image

I see jets on the spa section in the app but it's disabled by default with the integration

When I get home Thursday I'll dig into this a bit more.

@dieselrabbit
Copy link
Contributor Author

That's interesting. I'd be very curious as to what that circuit lists for Show On in the SLConfig app.

@bdraco
Copy link
Member

bdraco commented Sep 9, 2023

I'm finally back home so I'll do testing this weekend. Sorry for the delay

@bdraco
Copy link
Member

bdraco commented Sep 9, 2023

Here is the intellitouch control panel (grabbed the remote since its easier to photograph):
IMG_1983

Here is the app config:
IMG_1984
IMG_1985

@bdraco
Copy link
Member

bdraco commented Sep 9, 2023

Confirmed the disabled entities is an existing issue and not a regression

@bdraco
Copy link
Member

bdraco commented Sep 9, 2023

Thanks @dieselrabbit

@bdraco bdraco merged commit 092580a into home-assistant:dev Sep 9, 2023
31 checks passed
@dieselrabbit
Copy link
Contributor Author

Thank you @bdraco !

Copy link
Member

@MartinHjelmare MartinHjelmare left a comment

Choose a reason for hiding this comment

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

I think this PR was too large and looks very high risk for bugs. I think it should have been preceded by PRs that added platform tests for all platforms.

@github-actions github-actions bot locked and limited conversation to collaborators Sep 12, 2023
@dieselrabbit dieselrabbit deleted the sl-ent-desc branch September 23, 2023 19:05
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.

4 participants