python-pooldose 0.6.8__tar.gz → 0.6.9__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 (35) hide show
  1. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/PKG-INFO +7 -8
  2. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/README.md +6 -7
  3. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/__init__.py +1 -1
  4. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/__main__.py +1 -0
  5. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/client.py +11 -9
  6. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/python_pooldose.egg-info/PKG-INFO +7 -8
  7. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/LICENSE +0 -0
  8. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/pyproject.toml +0 -0
  9. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/setup.cfg +0 -0
  10. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/constants.py +0 -0
  11. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/device_analyzer.py +0 -0
  12. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/mappings/__init__.py +0 -0
  13. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/mappings/mapping_info.py +0 -0
  14. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/mappings/model_PDPR1H1HAR1V0_FW539224.json +0 -0
  15. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/mappings/model_PDPR1H1HAW100_FW539187.json +0 -0
  16. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/mock_client.py +0 -0
  17. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/py.typed +0 -0
  18. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/request_handler.py +0 -0
  19. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/request_status.py +0 -0
  20. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/values/__init__.py +0 -0
  21. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/values/instant_values.py +0 -0
  22. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/pooldose/values/static_values.py +0 -0
  23. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/python_pooldose.egg-info/SOURCES.txt +0 -0
  24. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/python_pooldose.egg-info/dependency_links.txt +0 -0
  25. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/python_pooldose.egg-info/entry_points.txt +0 -0
  26. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/python_pooldose.egg-info/requires.txt +0 -0
  27. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/src/python_pooldose.egg-info/top_level.txt +0 -0
  28. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/tests/test_client.py +0 -0
  29. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/tests/test_device_analyzer.py +0 -0
  30. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/tests/test_device_analyzer_integration.py +0 -0
  31. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/tests/test_instant_values.py +0 -0
  32. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/tests/test_mapping_info.py +0 -0
  33. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/tests/test_request_handler.py +0 -0
  34. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/tests/test_ssl_support.py +0 -0
  35. {python_pooldose-0.6.8 → python_pooldose-0.6.9}/tests/test_static_values.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-pooldose
3
- Version: 0.6.8
3
+ Version: 0.6.9
4
4
  Summary: Unoffical async Python client for SEKO PoolDose devices
5
5
  Author-email: Lukas Maertin <pypi@lukas-maertin.de>
6
6
  License-Expression: MIT
@@ -141,7 +141,8 @@ client = PooldoseClient(
141
141
  use_ssl=True,
142
142
  port=8443,
143
143
  ssl_verify=True, # Verify SSL certificates
144
- include_sensitive_data=False
144
+ include_sensitive_data=False,
145
+ include_mac_lookup=False
145
146
  )
146
147
  ```
147
148
 
@@ -765,7 +766,7 @@ Mapping Discovery Process:
765
766
  #### Constructor
766
767
 
767
768
  ```python
768
- PooldoseClient(host, timeout=30, include_sensitive_data=False, use_ssl=False, port=None, ssl_verify=True)
769
+ PooldoseClient(host, timeout=30, include_sensitive_data=False, include_mac_lookup=False, use_ssl=False, port=None, ssl_verify=True)
769
770
  ```
770
771
 
771
772
  **Parameters:**
@@ -773,6 +774,7 @@ PooldoseClient(host, timeout=30, include_sensitive_data=False, use_ssl=False, po
773
774
  - `host` (str): The hostname or IP address of the device
774
775
  - `timeout` (int): Request timeout in seconds (default: 30)
775
776
  - `include_sensitive_data` (bool): Whether to include sensitive data like WiFi passwords (default: False)
777
+ - `include_mac_lookup` (bool): Whether to include MAC lookup via ARP (default: False)
776
778
  - `use_ssl` (bool): Whether to use HTTPS instead of HTTP (default: False)
777
779
  - `port` (Optional[int]): Custom port for connections. Defaults to 80 for HTTP, 443 for HTTPS (default: None)
778
780
  - `ssl_verify` (bool): Whether to verify SSL certificates when using HTTPS (default: True)
@@ -932,7 +934,6 @@ Data Classification:
932
934
  │ • Serial Number │ │ │ │ │
933
935
  │ • Sensor Values │ │ │ │ │
934
936
  │ • IP Address │ │ │ │ │
935
- │ • MAC Address │ │ │ │ │
936
937
  └─────────────────┘ └─────────────────┘ └─────────────────┘
937
938
  │ │ │
938
939
  ▼ ▼ ▼
@@ -943,8 +944,6 @@ Data Classification:
943
944
 
944
945
  For detailed release notes and version history, please see [CHANGELOG.md](CHANGELOG.md).
945
946
 
946
- ### Latest Release (0.6.8)
947
+ ### Latest Release (0.6.9)
947
948
 
948
- - **Client**: Implemented alternate method to retrieve MAC address of device
949
- - **Mapping**: Further fixes for PDPR1H1HAR1V0_FW539224
950
- - **Values**: Added conversion for binary sensors
949
+ - **Client**: Optional MAC lookup with include_mac_lookup flag
@@ -122,7 +122,8 @@ client = PooldoseClient(
122
122
  use_ssl=True,
123
123
  port=8443,
124
124
  ssl_verify=True, # Verify SSL certificates
125
- include_sensitive_data=False
125
+ include_sensitive_data=False,
126
+ include_mac_lookup=False
126
127
  )
127
128
  ```
128
129
 
@@ -746,7 +747,7 @@ Mapping Discovery Process:
746
747
  #### Constructor
747
748
 
748
749
  ```python
749
- PooldoseClient(host, timeout=30, include_sensitive_data=False, use_ssl=False, port=None, ssl_verify=True)
750
+ PooldoseClient(host, timeout=30, include_sensitive_data=False, include_mac_lookup=False, use_ssl=False, port=None, ssl_verify=True)
750
751
  ```
751
752
 
752
753
  **Parameters:**
@@ -754,6 +755,7 @@ PooldoseClient(host, timeout=30, include_sensitive_data=False, use_ssl=False, po
754
755
  - `host` (str): The hostname or IP address of the device
755
756
  - `timeout` (int): Request timeout in seconds (default: 30)
756
757
  - `include_sensitive_data` (bool): Whether to include sensitive data like WiFi passwords (default: False)
758
+ - `include_mac_lookup` (bool): Whether to include MAC lookup via ARP (default: False)
757
759
  - `use_ssl` (bool): Whether to use HTTPS instead of HTTP (default: False)
758
760
  - `port` (Optional[int]): Custom port for connections. Defaults to 80 for HTTP, 443 for HTTPS (default: None)
759
761
  - `ssl_verify` (bool): Whether to verify SSL certificates when using HTTPS (default: True)
@@ -913,7 +915,6 @@ Data Classification:
913
915
  │ • Serial Number │ │ │ │ │
914
916
  │ • Sensor Values │ │ │ │ │
915
917
  │ • IP Address │ │ │ │ │
916
- │ • MAC Address │ │ │ │ │
917
918
  └─────────────────┘ └─────────────────┘ └─────────────────┘
918
919
  │ │ │
919
920
  ▼ ▼ ▼
@@ -924,8 +925,6 @@ Data Classification:
924
925
 
925
926
  For detailed release notes and version history, please see [CHANGELOG.md](CHANGELOG.md).
926
927
 
927
- ### Latest Release (0.6.8)
928
+ ### Latest Release (0.6.9)
928
929
 
929
- - **Client**: Implemented alternate method to retrieve MAC address of device
930
- - **Mapping**: Further fixes for PDPR1H1HAR1V0_FW539224
931
- - **Values**: Added conversion for binary sensors
930
+ - **Client**: Optional MAC lookup with include_mac_lookup flag
@@ -1,5 +1,5 @@
1
1
  """Async API client for SEKO Pooldose."""
2
2
  from .client import PooldoseClient
3
3
 
4
- __version__ = "0.6.8"
4
+ __version__ = "0.6.9"
5
5
  __all__ = ["PooldoseClient"]
@@ -119,6 +119,7 @@ async def run_real_client(host: str, use_ssl: bool, port: int) -> None:
119
119
 
120
120
  client = PooldoseClient(
121
121
  host=host,
122
+ include_mac_lookup=True,
122
123
  use_ssl=use_ssl,
123
124
  port=port if port != 0 else None,
124
125
  timeout=30
@@ -26,7 +26,7 @@ class PooldoseClient:
26
26
  All getter methods return (status, data) and log errors.
27
27
  """
28
28
 
29
- def __init__(self, host: str, timeout: int = 30, *, include_sensitive_data: bool = False, use_ssl: bool = False, port: Optional[int] = None, ssl_verify: bool = True) -> None: # pylint: disable=too-many-arguments
29
+ def __init__(self, host: str, timeout: int = 30, *, include_sensitive_data: bool = False, include_mac_lookup: bool = False, use_ssl: bool = False, port: Optional[int] = None, ssl_verify: bool = True) -> None: # pylint: disable=too-many-arguments
30
30
  """
31
31
  Initialize the Pooldose client.
32
32
 
@@ -41,6 +41,7 @@ class PooldoseClient:
41
41
  self._host = host
42
42
  self._timeout = timeout
43
43
  self._include_sensitive_data = include_sensitive_data
44
+ self._include_mac_lookup = include_mac_lookup
44
45
  self._use_ssl = use_ssl
45
46
  self._port = port
46
47
  self._ssl_verify = ssl_verify
@@ -193,14 +194,15 @@ class PooldoseClient:
193
194
  if self._include_sensitive_data:
194
195
  _LOGGER.info("Included WiFi and AP keys (use include_sensitive_data=False to exclude)")
195
196
 
196
- # MAC address via getmac library
197
- if self.device_info["IP"]:
198
- self.device_info["MAC"] = get_mac_address(ip=self.device_info["IP"])
199
- if not self.device_info["MAC"]:
200
- _LOGGER.warning("Failed to fetch MAC address via getmac library for IP: %s", self.device_info["IP"])
201
- else:
202
- _LOGGER.warning("IP address not set, cannot fetch MAC address via getmac library")
203
- self.device_info["MAC"] = None
197
+ # Optionally: MAC address via getmac library (using arp which may not work on all network topologies)
198
+ if self._include_mac_lookup:
199
+ if self.device_info["IP"]:
200
+ self.device_info["MAC"] = get_mac_address(ip=self.device_info["IP"])
201
+ if not self.device_info["MAC"]:
202
+ _LOGGER.warning("Failed to fetch MAC address via getmac library for IP: %s", self.device_info["IP"])
203
+ else:
204
+ _LOGGER.warning("IP address not set, cannot fetch MAC address via getmac library")
205
+ self.device_info["MAC"] = None
204
206
 
205
207
  return RequestStatus.SUCCESS
206
208
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-pooldose
3
- Version: 0.6.8
3
+ Version: 0.6.9
4
4
  Summary: Unoffical async Python client for SEKO PoolDose devices
5
5
  Author-email: Lukas Maertin <pypi@lukas-maertin.de>
6
6
  License-Expression: MIT
@@ -141,7 +141,8 @@ client = PooldoseClient(
141
141
  use_ssl=True,
142
142
  port=8443,
143
143
  ssl_verify=True, # Verify SSL certificates
144
- include_sensitive_data=False
144
+ include_sensitive_data=False,
145
+ include_mac_lookup=False
145
146
  )
146
147
  ```
147
148
 
@@ -765,7 +766,7 @@ Mapping Discovery Process:
765
766
  #### Constructor
766
767
 
767
768
  ```python
768
- PooldoseClient(host, timeout=30, include_sensitive_data=False, use_ssl=False, port=None, ssl_verify=True)
769
+ PooldoseClient(host, timeout=30, include_sensitive_data=False, include_mac_lookup=False, use_ssl=False, port=None, ssl_verify=True)
769
770
  ```
770
771
 
771
772
  **Parameters:**
@@ -773,6 +774,7 @@ PooldoseClient(host, timeout=30, include_sensitive_data=False, use_ssl=False, po
773
774
  - `host` (str): The hostname or IP address of the device
774
775
  - `timeout` (int): Request timeout in seconds (default: 30)
775
776
  - `include_sensitive_data` (bool): Whether to include sensitive data like WiFi passwords (default: False)
777
+ - `include_mac_lookup` (bool): Whether to include MAC lookup via ARP (default: False)
776
778
  - `use_ssl` (bool): Whether to use HTTPS instead of HTTP (default: False)
777
779
  - `port` (Optional[int]): Custom port for connections. Defaults to 80 for HTTP, 443 for HTTPS (default: None)
778
780
  - `ssl_verify` (bool): Whether to verify SSL certificates when using HTTPS (default: True)
@@ -932,7 +934,6 @@ Data Classification:
932
934
  │ • Serial Number │ │ │ │ │
933
935
  │ • Sensor Values │ │ │ │ │
934
936
  │ • IP Address │ │ │ │ │
935
- │ • MAC Address │ │ │ │ │
936
937
  └─────────────────┘ └─────────────────┘ └─────────────────┘
937
938
  │ │ │
938
939
  ▼ ▼ ▼
@@ -943,8 +944,6 @@ Data Classification:
943
944
 
944
945
  For detailed release notes and version history, please see [CHANGELOG.md](CHANGELOG.md).
945
946
 
946
- ### Latest Release (0.6.8)
947
+ ### Latest Release (0.6.9)
947
948
 
948
- - **Client**: Implemented alternate method to retrieve MAC address of device
949
- - **Mapping**: Further fixes for PDPR1H1HAR1V0_FW539224
950
- - **Values**: Added conversion for binary sensors
949
+ - **Client**: Optional MAC lookup with include_mac_lookup flag
File without changes