-
-
Notifications
You must be signed in to change notification settings - Fork 4
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鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Home Assistant Integration Quality Scale #141
Comments
AnalysisPlatforms are created using ResolutionNot needed, think this marks this item as met!? EDIT: 20240328: Setting to met, will retry if envoy doesn't connect. |
AnalysisNot sure if these pass. Started HA running and switched off my simulated Envoy. On next scan Pyenphase starts logging every 2-4 seconds:
The entities however stay on the state they had when failure started When inserting some debug breakpoints it's getting back to without higher level breakpoints firing. Only when restarting the envoy sim the breakpoint at the request in meters fires when data returns.. So it loops in retry and never seems to return EDIT: tried with a simple pyenphase client and same happens, update call never returns and tries forever. ResolutionEDIT 20240328: Pyenphase 1.20.1 has this fixed. Merged in home-assistant/core#114218. Setting this to matched. |
AnalysisScanning through the code this seems to be the current list for these:
For Number these are activated by
For Select these are activated by
For Switch these are activated by These all use _request which:
Looks like ServiceValidationError or HomeAssistantError is not implemented by mapping pyenphase status to Home Assistant status? Resolutiontbd |
AnalysisCombining two items as it seems they are the same. Only test_sensors, test_diagnostics currently. (Test_config_flow available as well but that fulfills other requirement). ResolutionAdd tests for:
I have these ready in same format as test_sensor, but can use some assistance in adding tests for the switches that can be activated. These tests are snapshot test and may need addition of functional tests as well as described in the docs links of the item. Refs: https://developers.home-assistant.io/docs/development_testing/#writing-tests-for-integrations EDIT 20240328: PR for pyenphase: #146 Name Stmts Miss Branch BrPart Cover Missing
----------------------------------------------------------------------------------
src/pyenphase/auth.py 113 3 52 0 98% 21, 190, 198
src/pyenphase/envoy.py 256 0 98 1 99% 355->359
src/pyenphase/updaters/production.py 88 0 48 1 99% 124->143
----------------------------------------------------------------------------------
TOTAL 1238 3 391 2 99%
25 files skipped due to complete coverage. PR for HA enphase_envoy: home-assistant/core#114390 homeassistant/components/enphase_envoy/config_flow.py 96 1 99% 82
homeassistant/components/enphase_envoy/const.py 5 0 100%
homeassistant/components/enphase_envoy/diagnostics.py 40 0 100% Once the PR are merged these 2 item can pass. |
AnalysisFor this one we first need the tests added ResolutionCOV with 2 new pr: Name Stmts Miss Branch BrPart Cover Missing
----------------------------------------------------------------------------------
src/pyenphase/auth.py 113 3 52 0 98% 21, 190, 198
src/pyenphase/envoy.py 256 0 98 1 99% 355->359
src/pyenphase/updaters/production.py 88 0 48 1 99% 124->143
----------------------------------------------------------------------------------
TOTAL 1238 3 391 2 99%
PR for HA enphase_envoy: home-assistant/core#114390 homeassistant/components/enphase_envoy/config_flow.py 96 1 99% 82
homeassistant/components/enphase_envoy/const.py 5 0 100%
homeassistant/components/enphase_envoy/diagnostics.py 40 0 100% |
Analysis? Are we using this, do we even need it ? Resolution |
AnalysisDon't think a have API doing this, do we? If not this is met as it doesn't apply ResolutionNo action needed, met by absence of feature. |
AnalysisAdd PARALLEL_UPDATES = 0 If the value is 0, the integration is itself responsible for limiting the number of parallel requests if necessary. Seems this is applicable for
Neither have it currently. We define ResolutionAdd to 3 platform files. When using 0 still behaves as currently. |
AnalysisThink this one is met. There's ResolutionNot needed, think this one passes |
Putting this here so as to not lose it in HA's issue tracker...
Silver 馃
This integration is able to cope when things go wrong. It will not print any exceptions nor will it fill the log with retry attempts.
EDIT 20240312: see discussion reply
EDIT 20240312: see discussion reply
EDIT 20240312: see discussion reply
EDIT 20240328: Set to met, see discussion below
EDIT 20240312: see discussion reply
Gold 馃
This is a solid integration that is able to survive poor conditions and can be configured via the user interface.
EDIT: 20240328: Set to met, removed discussion by mistake
EDIT 20240313 see discussion reply
EDIT 20240313 See discussion reply
EDIT 20240313 See discussion reply
EDIT 20240313 See discussion reply
EDIT 20230313 See discussion reply
EDIT 20240313 See discussion reply
Platinum 馃弳
Best of the best. The integration is completely async, meaning it's super fast. Integrations that reach platinum level will require approval by the code owner for each PR.
EDIT 20240313 See discussion reply
EDIT 20240313 See discussion topic
The text was updated successfully, but these errors were encountered: