Add support for Shelly devices and authentication check
Introduced new classes for Shelly device models and common functionalities. Implemented authentication status check and device model validation during component activation. Enhanced various Shelly device implementations to include common interface functionalities and model-specific checks. Added tests for new functionalities and updated existing tests to cover authentication checks.
Addresses Issue https://github.com/OpenEMS/openems/issues/3205
Codecov Report
:x: Patch coverage is 89.94083% with 17 lines in your changes missing coverage. Please review.
Additional details and impacted files
@@ Coverage Diff @@
## develop #3399 +/- ##
=============================================
+ Coverage 59.82% 59.89% +0.08%
Complexity 112 112
=============================================
Files 2787 2789 +2
Lines 121037 121197 +160
Branches 9061 9067 +6
=============================================
+ Hits 72400 72582 +182
+ Misses 45932 45898 -34
- Partials 2705 2717 +12
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
We are currently developing a lot of changes for Shelly devices, as Shelly Plug S support will be available for free for FENECON customers and we also add autodiscovery therefor. Please delay this PR after the next backport.
I backported our changes to Shelly (including brand new autodiscovery via mDNS) here: https://github.com/OpenEMS/openems/pull/3440.
Background: The FEMS App for Shelly Plugs will be available for free starting with FEMS version 2025.12.1