• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

maximunited / imou_life / 25231035363
90%

Build:
DEFAULT BRANCH: master
Ran 01 May 2026 08:10PM UTC
Jobs 3
Files 21
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 May 2026 08:08PM UTC coverage: 70.626% (-2.6%) from 73.232%
25231035363

push

github

web-flow
feat: Implement Silver tier quality scale requirements (4/5 complete) (#23)

* feat: add PARALLEL_UPDATES to all platforms to prevent API rate limiting

Add PARALLEL_UPDATES = 1 constant to all 7 platform files (sensor, binary_sensor,
switch, select, button, camera, siren) to serialize entity updates and prevent
API rate limiting (OP1013 errors).

This completes the parallel-updates requirement for Silver tier quality scale.

Also fixes test_api_status_sensor.py to expect correct device identifier after
v1.3.6 device consolidation fix.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* feat: implement action exception handling for Silver tier compliance

Add proper exception handling to all service calls and user actions:

**Camera PTZ Services**:
- Wrap async_service_ptz_location() in try/except, raise HomeAssistantError
- Wrap async_service_ptz_move() in try/except, raise HomeAssistantError

**Battery Actions**:
- battery_button.py: Raise HomeAssistantError on button press failures
- battery_select.py: Raise HomeAssistantError on select option failures
- battery_coordinator.py: Re-raise exceptions from public methods so calling
  code can convert to HomeAssistantError

**Test Updates**:
- Update exception handling tests to expect HomeAssistantError (Silver tier requirement)
- Fix coordinator settings tests to use AsyncMock for device methods
- All 244 unit tests pass

This completes the action-exceptions requirement for Silver tier quality scale.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* feat: add logging when entities become unavailable

Track entity availability state changes and log warnings when entities
become unavailable (True ? False transition).

**Changes**:
- entity.py: Add _last_available tracking in __init__
- entity.py: Override available property to detect state changes
- entity.py: Log warning when entity becomes unavailable

**Tests**:
- Add test_entity_availability_logging_on_unavailable
- Add test_ent... (continued)

30 of 81 new or added lines in 13 files covered. (37.04%)

8 existing lines in 1 file now uncovered.

981 of 1389 relevant lines covered (70.63%)

2.12 hits per line

Uncovered Changes

Lines Coverage ∆ File
32
16.67
-2.74% custom_components/imou_life/config_flow.py
7
80.41
-5.73% custom_components/imou_life/battery_coordinator.py
4
69.47
-1.46% custom_components/imou_life/camera.py
4
94.81
-5.19% custom_components/imou_life/coordinator.py
2
73.85
1.27% custom_components/imou_life/battery_button.py
1
74.03
-0.3% custom_components/imou_life/battery_select.py
1
94.44
0.57% custom_components/imou_life/entity.py

Coverage Regressions

Lines Coverage ∆ File
8
80.41
-5.73% custom_components/imou_life/battery_coordinator.py
Jobs
ID Job ID Ran Files Coverage
1 run-3.13 - 25231035363.1 01 May 2026 08:10PM UTC 21
70.63
GitHub Action Run
2 run-3.12 - 25231035363.2 01 May 2026 08:10PM UTC 21
70.63
GitHub Action Run
3 run-3.11 - 25231035363.3 01 May 2026 08:10PM UTC 21
70.63
GitHub Action Run
Source Files on build 25231035363
  • Tree
  • List 21
  • Changed 13
  • Source Changed 13
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25231035363
  • 54e66eaf on github
  • Prev Build on master (#25214927541)
  • Next Build on master (#25231261133)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc