Compare commits
	
		
			10 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 0ddbdd0b4e | |||
| 241ee95d5c | |||
| c9d4461f8f | |||
| 318e60e91e | |||
| fde41ac456 | |||
| aeabbe64e2 | |||
| 7c99ffeaf7 | |||
| 2941b57d09 | |||
| f00ee03c0d | |||
| ec7355e341 | 
| @ -55,6 +55,8 @@ class HonConnection: | |||||||
|                     appliances = (await resp.json())["payload"]["appliances"] |                     appliances = (await resp.json())["payload"]["appliances"] | ||||||
|                     for appliance in appliances: |                     for appliance in appliances: | ||||||
|                         device = HonDevice(self, appliance) |                         device = HonDevice(self, appliance) | ||||||
|  |                         if device.mac_address is None: | ||||||
|  |                             continue | ||||||
|                         await asyncio.gather(*[ |                         await asyncio.gather(*[ | ||||||
|                             device.load_attributes(), |                             device.load_attributes(), | ||||||
|                             device.load_commands(), |                             device.load_commands(), | ||||||
| @ -70,7 +72,7 @@ class HonConnection: | |||||||
|             "applianceType": device.appliance_type, |             "applianceType": device.appliance_type, | ||||||
|             "code": device.appliance["code"], |             "code": device.appliance["code"], | ||||||
|             "applianceModelId": device.appliance_model_id, |             "applianceModelId": device.appliance_model_id, | ||||||
|             "firmwareId": "41", |             "firmwareId": device.appliance["eepromId"], | ||||||
|             "macAddress": device.mac_address, |             "macAddress": device.mac_address, | ||||||
|             "fwVersion": device.appliance["fwVersion"], |             "fwVersion": device.appliance["fwVersion"], | ||||||
|             "os": const.OS, |             "os": const.OS, | ||||||
|  | |||||||
| @ -67,5 +67,5 @@ class HonCommand: | |||||||
|     @property |     @property | ||||||
|     def settings(self): |     def settings(self): | ||||||
|         """Parameters with typology enum and range""" |         """Parameters with typology enum and range""" | ||||||
|         return {s: self._parameters[s] for s in self.setting_keys} |         return {s: self._parameters.get(s) for s in self.setting_keys if self._parameters.get(s) is not None} | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| import importlib | import importlib | ||||||
|  |  | ||||||
| from pyhon.commands import HonCommand | from pyhon.commands import HonCommand | ||||||
|  | from pyhon.parameter import HonParameterFixed | ||||||
|  |  | ||||||
|  |  | ||||||
| class HonDevice: | class HonDevice: | ||||||
| @ -93,7 +94,7 @@ class HonDevice: | |||||||
|                 command.set_program(parameters.pop("program").split(".")[-1].lower()) |                 command.set_program(parameters.pop("program").split(".")[-1].lower()) | ||||||
|                 command = self.commands[name] |                 command = self.commands[name] | ||||||
|             for key, data in command.settings.items(): |             for key, data in command.settings.items(): | ||||||
|                 if parameters.get(key) is not None: |                 if not isinstance(data, HonParameterFixed) and parameters.get(key) is not None: | ||||||
|                     data.value = parameters.get(key) |                     data.value = parameters.get(key) | ||||||
|  |  | ||||||
|     async def load_commands(self): |     async def load_commands(self): | ||||||
|  | |||||||
| @ -30,7 +30,7 @@ class HonParameter: | |||||||
| class HonParameterFixed(HonParameter): | class HonParameterFixed(HonParameter): | ||||||
|     def __init__(self, key, attributes): |     def __init__(self, key, attributes): | ||||||
|         super().__init__(key, attributes) |         super().__init__(key, attributes) | ||||||
|         self._value = attributes["fixedValue"] |         self._value = attributes.get("fixedValue", None) | ||||||
|  |  | ||||||
|     def __repr__(self): |     def __repr__(self): | ||||||
|         return f"{self.__class__} (<{self.key}> fixed)" |         return f"{self.__class__} (<{self.key}> fixed)" | ||||||
| @ -75,6 +75,7 @@ class HonParameterRange(HonParameter): | |||||||
|  |  | ||||||
|     @value.setter |     @value.setter | ||||||
|     def value(self, value): |     def value(self, value): | ||||||
|  |         value = int(value) | ||||||
|         if self._min <= value <= self._max and not value % self._step: |         if self._min <= value <= self._max and not value % self._step: | ||||||
|             self._value = value |             self._value = value | ||||||
|         else: |         else: | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								setup.py
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								setup.py
									
									
									
									
									
								
							| @ -7,7 +7,7 @@ with open("README.md", "r") as f: | |||||||
|  |  | ||||||
| setup( | setup( | ||||||
|     name="pyhOn", |     name="pyhOn", | ||||||
|     version="0.3.5", |     version="0.3.7", | ||||||
|     author="Andre Basche", |     author="Andre Basche", | ||||||
|     description="Control hOn devices with python", |     description="Control hOn devices with python", | ||||||
|     long_description=long_description, |     long_description=long_description, | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	