hyxi-cloud-api 1.2.7__tar.gz → 1.2.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. {hyxi_cloud_api-1.2.7/src/hyxi_cloud_api.egg-info → hyxi_cloud_api-1.2.8}/PKG-INFO +1 -1
  2. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/pyproject.toml +1 -1
  3. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/src/hyxi_cloud_api/__init__.py +1 -1
  4. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/src/hyxi_cloud_api/api.py +5 -3
  5. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8/src/hyxi_cloud_api.egg-info}/PKG-INFO +1 -1
  6. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/LICENSE +0 -0
  7. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/README.md +0 -0
  8. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/setup.cfg +0 -0
  9. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/src/hyxi_cloud_api.egg-info/SOURCES.txt +0 -0
  10. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/src/hyxi_cloud_api.egg-info/dependency_links.txt +0 -0
  11. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/src/hyxi_cloud_api.egg-info/requires.txt +0 -0
  12. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/src/hyxi_cloud_api.egg-info/top_level.txt +0 -0
  13. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_all_in_one.py +0 -0
  14. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_api.py +0 -0
  15. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_build_plant_tasks.py +0 -0
  16. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_caching.py +0 -0
  17. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_compute_derived_metrics.py +0 -0
  18. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_device_control.py +0 -0
  19. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_device_entry.py +0 -0
  20. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_devices_errors.py +0 -0
  21. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_discovery.py +0 -0
  22. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_execute_device_tasks.py +0 -0
  23. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_execute_metric_tasks.py +0 -0
  24. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_execute_metrics_and_map_alarms.py +0 -0
  25. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_extract_battery_info.py +0 -0
  26. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_extract_device_info_metadata.py +0 -0
  27. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_fetch_and_process_alarms.py +0 -0
  28. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_fetch_device_list_for_plant.py +0 -0
  29. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_fetch_plants.py +0 -0
  30. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_fetch_state.py +0 -0
  31. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_fetch_sub_device_list.py +0 -0
  32. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_filter_metrics.py +0 -0
  33. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_fuzz_parser.py +0 -0
  34. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_get_f.py +0 -0
  35. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_handle_back_discovery_alarm.py +0 -0
  36. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_info_errors.py +0 -0
  37. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_mask_id.py +0 -0
  38. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_metrics_errors.py +0 -0
  39. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_parse_data_list.py +0 -0
  40. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_parse_ems_kv.py +0 -0
  41. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_parser.py +0 -0
  42. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_process_alarms_and_back_discovery.py +0 -0
  43. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_process_devices_for_plant.py +0 -0
  44. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_sanitize_dict.py +0 -0
  45. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_sanitize_list.py +0 -0
  46. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_security_fix.py +0 -0
  47. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_subscriptions.py +0 -0
  48. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_token_errors.py +0 -0
  49. {hyxi_cloud_api-1.2.7 → hyxi_cloud_api-1.2.8}/tests/test_token_handling.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyxi-cloud-api
3
- Version: 1.2.7
3
+ Version: 1.2.8
4
4
  Summary: An async API client for HYXi Cloud.
5
5
  Author-email: Veldkornet <Veldkornet@users.noreply.github.com>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "hyxi-cloud-api"
7
- version = "1.2.7"
7
+ version = "1.2.8"
8
8
  authors = [
9
9
  { name="Veldkornet", email="Veldkornet@users.noreply.github.com" },
10
10
  ]
@@ -5,5 +5,5 @@ from .api import HyxiApiClient
5
5
  # Module-level alias so callers can do: from hyxi_cloud_api import VPP_ACTIVE_MODES
6
6
  VPP_ACTIVE_MODES: frozenset[str] = HyxiApiClient.VPP_ACTIVE_MODES
7
7
 
8
- __version__ = "1.2.7"
8
+ __version__ = "1.2.8"
9
9
  __all__ = ["VPP_ACTIVE_MODES", "HyxiApiClient"]
@@ -761,7 +761,9 @@ class HyxiApiClient: # pylint: disable=too-many-instance-attributes
761
761
  # polling metrics — no separate API call is needed.
762
762
  #
763
763
  # Confirmed values (live observation + HYXI community research):
764
- # "16" = VPP mode (virtual power plant dispatch active)
764
+ # "13" = VPP Charge (remote grid charge active)
765
+ # "14" = VPP Discharge (remote grid discharge active)
766
+ # "16" = VPP mode (virtual power plant dispatch active / idle)
765
767
  #
766
768
  # Standard non-VPP modes for reference (NOT included here):
767
769
  # "0" = Self-use / general
@@ -769,10 +771,10 @@ class HyxiApiClient: # pylint: disable=too-many-instance-attributes
769
771
  # "2" = Time-of-use / peak shaving
770
772
  # "3" = Feed-in priority
771
773
  #
772
- # workMode is returned as a string from the API ("16", not 16).
774
+ # workMode is returned as a string or integer from the API, cast to string for matching.
773
775
  # Source: live workMode value observed during active VPP dispatch,
774
776
  # corroborated by HYXI community register documentation.
775
- VPP_ACTIVE_MODES: frozenset[str] = frozenset({"16"})
777
+ VPP_ACTIVE_MODES: frozenset[str] = frozenset({"13", "14", "16"})
776
778
 
777
779
  class ControlError(Exception):
778
780
  """Raised when a device control command fails."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hyxi-cloud-api
3
- Version: 1.2.7
3
+ Version: 1.2.8
4
4
  Summary: An async API client for HYXi Cloud.
5
5
  Author-email: Veldkornet <Veldkornet@users.noreply.github.com>
6
6
  Classifier: Programming Language :: Python :: 3
File without changes
File without changes
File without changes