Compare commits
	
		
			2 Commits
		
	
	
		
			v0.9.0-bet
			...
			v0.9.0-bet
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 60ed8b4ec1 | |||
| 6519bef12a | 
| @ -39,8 +39,8 @@ _If the integration is not in the list, you need to clear the browser cache._ | ||||
| Support has been confirmed for these models, but many more will work. Please add already supported devices [with this form to complete the list](https://forms.gle/bTSD8qFotdZFytbf8). | ||||
|  | ||||
| |                     | **Haier**                                                                                                                                         | **Hoover**                                                                                                           | **Candy**                                                                                           | | ||||
| |---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------| | ||||
| | **Washing Machine** | HW90-B14TEAM5 <br/> HW100-B14959U1                                                                                                                 | H-WASH 500 <br/> H7W4 48MBC-S                                                                                         | CO4 107T1/2-07 <br/> CBWO49TWME-S <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S | | ||||
| |---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------| | ||||
| | **Washing Machine** | HW90-B14TEAM5 <br/> HW100-B14959U1                                                                                                                | H-WASH 500 <br/> H7W4 48MBC-S <br/> HW 410AMBCB/1-80                                                                 | CO4 107T1/2-07 <br/> CBWO49TWME-S <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S | | ||||
| | **Tumble Dryer**    | HD80-A3959                                                                                                                                        | H-DRY 500 <br/> H9A3TCBEXS-S <br/> HLE C10DCE-80 <br/> NDE H10A2TCE-80 <br/> NDE H9A2TSBEXS-S <br/> NDPHY10A2TCBEXSS | BCTDH7A1TE <br/> CSOE C10DE-80 <br/> ROE H9A3TCEX-S                                                 | | ||||
| | **Washer Dryer**    | HWD100-B14979                                                                                                                                     | HWPS4954DAMR-11                                                                                                      | RPW41066BWMR/1-S                                                                                    | | ||||
| | **Oven**            | HWO60SM2F3XH                                                                                                                                      | HSOT3161WG                                                                                                           |                                                                                                     | | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| import logging | ||||
| from pathlib import Path | ||||
|  | ||||
| import pkg_resources | ||||
| from homeassistant.components import persistent_notification | ||||
| from homeassistant.components.button import ButtonEntityDescription, ButtonEntity | ||||
| from homeassistant.config_entries import ConfigEntry | ||||
| @ -92,10 +91,14 @@ class HonDeviceInfo(HonEntity, ButtonEntity): | ||||
|         self._attr_icon = "mdi:information" | ||||
|         self._attr_name = "Show Device Info" | ||||
|         self._attr_entity_category = EntityCategory.DIAGNOSTIC | ||||
|         if "beta" not in self.coordinator.info.hon_version: | ||||
|             self._attr_entity_registry_enabled_default = False | ||||
|  | ||||
|     async def async_press(self) -> None: | ||||
|         pyhon_version = pkg_resources.get_distribution("pyhon").version | ||||
|         info = f"{self._device.diagnose}pyhOnVersion: {pyhon_version}" | ||||
|         versions = "versions:\n" | ||||
|         versions += f"  hon: {self.coordinator.info.hon_version}\n" | ||||
|         versions += f"  pyhOn: {self.coordinator.info.pyhon_version}\n" | ||||
|         info = f"{self._device.diagnose}{versions}" | ||||
|         title = f"{self._device.nick_name} Device Info" | ||||
|         persistent_notification.create( | ||||
|             self._hass, f"````\n```\n{info}\n```\n````", title | ||||
| @ -111,6 +114,8 @@ class HonDataArchive(HonEntity, ButtonEntity): | ||||
|         self._attr_icon = "mdi:archive-arrow-down" | ||||
|         self._attr_name = "Create Data Archive" | ||||
|         self._attr_entity_category = EntityCategory.DIAGNOSTIC | ||||
|         if "beta" not in self.coordinator.info.hon_version: | ||||
|             self._attr_entity_registry_enabled_default = False | ||||
|  | ||||
|     async def async_press(self) -> None: | ||||
|         path = Path(self._hass.config.config_dir) / "www" | ||||
|  | ||||
| @ -1,7 +1,10 @@ | ||||
| import json | ||||
| import logging | ||||
| from contextlib import suppress | ||||
| from datetime import timedelta | ||||
| from pathlib import Path | ||||
|  | ||||
| import pkg_resources | ||||
| from homeassistant.core import callback | ||||
| from homeassistant.helpers.entity import DeviceInfo | ||||
| from homeassistant.helpers.update_coordinator import CoordinatorEntity | ||||
| @ -37,9 +40,7 @@ class HonEntity(CoordinatorEntity): | ||||
|         return DeviceInfo( | ||||
|             identifiers={(DOMAIN, self._device.unique_id)}, | ||||
|             manufacturer=self._device.get("brand", ""), | ||||
|             name=self._device.nick_name | ||||
|             if self._device.nick_name | ||||
|             else self._device.model_name, | ||||
|             name=self._device.nick_name, | ||||
|             model=self._device.model_name, | ||||
|             sw_version=self._device.get("fwVersion", ""), | ||||
|         ) | ||||
| @ -50,6 +51,31 @@ class HonEntity(CoordinatorEntity): | ||||
|             self.async_write_ha_state() | ||||
|  | ||||
|  | ||||
| class HonInfo: | ||||
|     def __init__(self): | ||||
|         self._manifest = self._get_manifest() | ||||
|         self._hon_version = self._manifest.get("version", "") | ||||
|         self._pyhon_version = pkg_resources.get_distribution("pyhon").version | ||||
|  | ||||
|     @staticmethod | ||||
|     def _get_manifest(): | ||||
|         manifest = Path(__file__).parent / "manifest.json" | ||||
|         with open(manifest, "r", encoding="utf-8") as file: | ||||
|             return json.loads(file.read()) | ||||
|  | ||||
|     @property | ||||
|     def manifest(self): | ||||
|         return self._manifest | ||||
|  | ||||
|     @property | ||||
|     def hon_version(self): | ||||
|         return self._hon_version | ||||
|  | ||||
|     @property | ||||
|     def pyhon_version(self): | ||||
|         return self._pyhon_version | ||||
|  | ||||
|  | ||||
| class HonCoordinator(DataUpdateCoordinator): | ||||
|     def __init__(self, hass, device: HonAppliance): | ||||
|         """Initialize my coordinator.""" | ||||
| @ -60,10 +86,15 @@ class HonCoordinator(DataUpdateCoordinator): | ||||
|             update_interval=timedelta(seconds=UPDATE_INTERVAL), | ||||
|         ) | ||||
|         self._device = device | ||||
|         self._info = HonInfo() | ||||
|  | ||||
|     async def _async_update_data(self): | ||||
|         await self._device.update() | ||||
|  | ||||
|     @property | ||||
|     def info(self) -> HonInfo: | ||||
|         return self._info | ||||
|  | ||||
|  | ||||
| def unique_entities(base_entities, new_entities): | ||||
|     result = list(base_entities) | ||||
|  | ||||
| @ -9,7 +9,7 @@ | ||||
|   "iot_class": "cloud_polling", | ||||
|   "issue_tracker": "https://github.com/Andre0512/hon/issues", | ||||
|   "requirements": [ | ||||
|     "pyhOn==0.14.1" | ||||
|     "pyhOn==0.14.6" | ||||
|   ], | ||||
|   "version": "0.9.0-beta.5" | ||||
|   "version": "0.9.0-beta.7" | ||||
| } | ||||
|  | ||||
							
								
								
									
										4
									
								
								info.md
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								info.md
									
									
									
									
									
								
							| @ -28,8 +28,8 @@ _If the integration is not in the list, you need to clear the browser cache._ | ||||
| Support has been confirmed for these models, but many more will work. Please add already supported devices [with this form to complete the list](https://forms.gle/bTSD8qFotdZFytbf8). | ||||
|  | ||||
| |                     | **Haier**                                                                                                                                         | **Hoover**                                                                                                           | **Candy**                                                                                           | | ||||
| |---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------| | ||||
| | **Washing Machine** | HW90-B14TEAM5 <br/> HW100-B14959U1                                                                                                                 | H-WASH 500 <br/> H7W4 48MBC-S                                                                                         | CO4 107T1/2-07 <br/> CBWO49TWME-S <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S | | ||||
| |---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------| | ||||
| | **Washing Machine** | HW90-B14TEAM5 <br/> HW100-B14959U1 <br/> HW 410AMBCB/1-80                                                                                         | H-WASH 500 <br/> H7W4 48MBC-S <br/>                                                                                  | CO4 107T1/2-07 <br/> CBWO49TWME-S <br/> RO44 1286DWMC4-07 <br/> HW 68AMC/1-80 <br/> HWPD 69AMBC/1-S | | ||||
| | **Tumble Dryer**    | HD80-A3959                                                                                                                                        | H-DRY 500 <br/> H9A3TCBEXS-S <br/> HLE C10DCE-80 <br/> NDE H10A2TCE-80 <br/> NDE H9A2TSBEXS-S <br/> NDPHY10A2TCBEXSS | BCTDH7A1TE <br/> CSOE C10DE-80 <br/> ROE H9A3TCEX-S                                                 | | ||||
| | **Washer Dryer**    | HWD100-B14979                                                                                                                                     | HWPS4954DAMR-11                                                                                                      | RPW41066BWMR/1-S                                                                                    | | ||||
| | **Oven**            | HWO60SM2F3XH                                                                                                                                      | HSOT3161WG                                                                                                           |                                                                                                     | | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	