Skip to content

merge main to dev - #147

Closed
moehrem wants to merge 103 commits into
devfrom
main
Closed

moehrem wants to merge 103 commits into
devfrom
main

Conversation

@moehrem

@moehrem moehrem commented Oct 9, 2026

Copy link
Copy Markdown
Owner

No description provided.

moehrem and others added 30 commits March 17, 2026 13:35
Changes to be committed:
	modified:   .vscode/settings.json
	modified:   custom_components/diveracontrol/__init__.py
	modified:   custom_components/diveracontrol/calendar.py
	modified:   custom_components/diveracontrol/calendar_entity.py
	modified:   custom_components/diveracontrol/config_flow.py
	modified:   custom_components/diveracontrol/const.py
	modified:   custom_components/diveracontrol/coordinator.py
	modified:   custom_components/diveracontrol/device_tracker.py
	modified:   custom_components/diveracontrol/divera_api.py
	deleted:    custom_components/diveracontrol/divera_credentials.py
	modified:   custom_components/diveracontrol/entity.py
	modified:   custom_components/diveracontrol/manifest.json
	modified:   custom_components/diveracontrol/sensor.py
	modified:   custom_components/diveracontrol/sensor_entity.py
	modified:   custom_components/diveracontrol/utils.py
	modified:   tests/conftest.py
	modified:   tests/test_config_flow.py
	renamed:    tests/test_divera_credentials.py -> tests/test_divera_config_flow_api.py
	modified:   tests/test_init.py
	modified:   tests/test_utils.py
Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
	modified:   custom_components/diveracontrol/config_flow.py
	modified:   custom_components/diveracontrol/divera_api.py
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
	modified:   tests/test_init.py
Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
	modified:   custom_components/diveracontrol/config_flow.py
	modified:   custom_components/diveracontrol/coordinator.py
	modified:   custom_components/diveracontrol/divera_api.py
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
	modified:   tests/conftest.py
	modified:   tests/test_coordinator.py
	modified:   tests/test_divera_api.py
- changed config flow to work with credentials and use api key only in special cases

Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
	modified:   custom_components/diveracontrol/config_flow.py
	modified:   custom_components/diveracontrol/divera_api.py
	modified:   custom_components/diveracontrol/schemas.py
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
	modified:   custom_components/diveracontrol/webhook_handler.py
	modified:   custom_components/diveracontrol/__init__.py
	modified:   custom_components/diveracontrol/config_flow.py
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
	deleted:    custom_components/diveracontrol/webhook.py
	deleted:    custom_components/diveracontrol/webhook_handler.py
Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
	modified:   custom_components/diveracontrol/config_flow.py
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
	deleted:    custom_components/diveracontrol/webhook.py
	deleted:    custom_components/diveracontrol/webhook_handler.py
changed entities: cluster info, vehicle info
added service: set user status
added device action: set user status
refactored sensor entity handling

Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
	modified:   custom_components/diveracontrol/calendar.py
	modified:   custom_components/diveracontrol/calendar_entity.py
	modified:   custom_components/diveracontrol/const.py
	modified:   custom_components/diveracontrol/device_action.py
	modified:   custom_components/diveracontrol/device_tracker.py
	modified:   custom_components/diveracontrol/device_tracker_entity.py
	modified:   custom_components/diveracontrol/divera_api.py
	modified:   custom_components/diveracontrol/entity.py
	new file:   custom_components/diveracontrol/select.py
	new file:   custom_components/diveracontrol/select_entity.py
	modified:   custom_components/diveracontrol/sensor.py
	modified:   custom_components/diveracontrol/sensor_entity.py
	modified:   custom_components/diveracontrol/service.py
	modified:   custom_components/diveracontrol/services.yaml
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
	modified:   custom_components/diveracontrol/utils.py
	new file:   tests/test_select.py
Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
	modified:   custom_components/diveracontrol/config_flow.py
	modified:   custom_components/diveracontrol/device_tracker_entity.py
	modified:   custom_components/diveracontrol/service.py
	modified:   custom_components/diveracontrol/translations/en.json
	modified:   custom_components/diveracontrol/utils.py
v2.0.0-beta.1

tests failed purposely
Changes to be committed:
	modified:   custom_components/diveracontrol/const.py
	modified:   custom_components/diveracontrol/entity.py
Changes to be committed:
	modified:   custom_components/diveracontrol/device_action.py
	modified:   custom_components/diveracontrol/divera_api.py
	modified:   custom_components/diveracontrol/sensor_entity.py
	modified:   custom_components/diveracontrol/service.py
	modified:   custom_components/diveracontrol/services.yaml
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
…coordinator to update data which includes a fresh data request from Divera

Changes to be committed:
	modified:   .vscode/settings.json
	modified:   custom_components/diveracontrol/service.py
	modified:   custom_components/diveracontrol/utils.py
Changes to be committed:
	new file:   custom_components/diveracontrol/device_trigger.py
	modified:   custom_components/diveracontrol/divera_api.py
	modified:   custom_components/diveracontrol/service.py
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
Changes to be committed:
	modified:   .vscode/settings.json
	modified:   custom_components/diveracontrol/__init__.py
	modified:   custom_components/diveracontrol/calendar.py
	modified:   custom_components/diveracontrol/config_flow.py
	modified:   custom_components/diveracontrol/const.py
	modified:   custom_components/diveracontrol/coordinator.py
	modified:   custom_components/diveracontrol/device_tracker.py
	modified:   custom_components/diveracontrol/divera_api.py
	modified:   custom_components/diveracontrol/schemas.py
	modified:   custom_components/diveracontrol/select.py
	modified:   custom_components/diveracontrol/sensor.py
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
When sorting is returned as a dict instead of a list (e.g. {}),
indexing it with [0] raises KeyError: 0. The existing try/except
only caught IndexError. Fix by using isinstance() check before
indexing — if sorting is not a non-empty list, set last_alarm_id
to None and return None as before.

Fixes: #127
fix: handle dict sorting in _get_alarm_data to prevent KeyError
Changes to be committed:
	modified:   custom_components/diveracontrol/sensor_entity.py
moehrem and others added 29 commits August 20, 2026 08:41
improved error handling in init and api

Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
	modified:   custom_components/diveracontrol/divera_api.py
	modified:   tests/test_config_flow.py
	modified:   tests/test_divera_api.py
	modified:   tests/test_init.py
Changes to be committed:
	modified:   custom_components/diveracontrol/config_flow.py
Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
Changes to be committed:
	modified:   custom_components/diveracontrol/__init__.py
added device_action support
added tests
refactored translation keys

added select options for user status in services
bugfix: post_close_alarm handed wrong params to api function

Changes to be committed:
	modified:   custom_components/diveracontrol/device_action.py
	modified:   custom_components/diveracontrol/sensor_entity.py
	modified:   custom_components/diveracontrol/service.py
	modified:   custom_components/diveracontrol/services.yaml
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
	modified:   tests/test_device_action.py
	modified:   tests/test_service.py
added translations for new services

Changes to be committed:
	modified:   custom_components/diveracontrol/services.yaml
	modified:   custom_components/diveracontrol/translations/de.json
	modified:   custom_components/diveracontrol/translations/en.json
Changes to be committed:
	modified:   custom_components/diveracontrol/divera_api.py
	modified:   custom_components/diveracontrol/services.yaml
Changes to be committed:
	modified:   custom_components/diveracontrol/config_flow.py
workflow: test to install correct dependencies

Changes to be committed:
	modified:   .github/workflows/ci_pipeline.yml
	modified:   .github/workflows/test.yml
Changes to be committed:
	modified:   .github/workflows/ci_pipeline.yml
	modified:   .github/workflows/test.yml
Changes to be committed:
	modified:   .github/workflows/ci_pipeline.yml
	modified:   .github/workflows/test.yml
Changes to be committed:
	modified:   .github/workflows/ci_pipeline.yml
	modified:   .github/workflows/test.yml
	modified:   custom_components/diveracontrol/config_flow.py
	modified:   custom_components/diveracontrol/divera_api.py
Changes to be committed:
	deleted:    .github/workflows/ci_pipeline.yml
	deleted:    .github/workflows/hacs.yml
	deleted:    .github/workflows/hass.yml
	new file:   .github/workflows/homeassistant_ci.yml
	new file:   .github/workflows/homeassistant_tests.yml
	modified:   .github/workflows/release.yml
	deleted:    .github/workflows/test.yml
Changes to be committed:
	modified:   .github/workflows/homeassistant_tests.yml
	modified:   .pylintrc
	new file:   requirements.txt
linting and formatting
changed workflow to use mypy and pre-commit
updated github workflow to use python 3.14 instead of 3.12
changed import of device_tracker_entity as it will be removed in HA 2027.6
updated workflows to use python 3.14 and HA-version 2026.9.4
docs: fix README inaccuracies (DE + EN)
Divera247 reports lat/lng 0/0 when no position is available. The device
tracker entities previously fell back to 0 for missing lat/lng, pinning
vehicle and alarm trackers to 0/0 on the HA map. Treat 0/0 and missing
coordinates as no position (None) instead.

Closes #137

Co-authored-by: moehrem <[email protected]>
…cbd8

fix: do not report 0/0 as tracker position when Divera has no position
@moehrem moehrem closed this Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants