Add maintenance cycle
This commit is contained in:
		
							
								
								
									
										0
									
								
								pyhon/__main__.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								pyhon/__main__.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@@ -213,6 +213,7 @@ class HonAppliance:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    async def load_statistics(self):
 | 
					    async def load_statistics(self):
 | 
				
			||||||
        self._statistics = await self.api.load_statistics(self)
 | 
					        self._statistics = await self.api.load_statistics(self)
 | 
				
			||||||
 | 
					        self._statistics |= await self.api.load_maintenance(self)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async def update(self):
 | 
					    async def update(self):
 | 
				
			||||||
        now = datetime.now()
 | 
					        now = datetime.now()
 | 
				
			||||||
@@ -258,20 +259,22 @@ class HonAppliance:
 | 
				
			|||||||
            return self._extra.data(result)
 | 
					            return self._extra.data(result)
 | 
				
			||||||
        return result
 | 
					        return result
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def diagnose(self, whitespace="\u200B \u200B ", command_only=False):
 | 
					    def diagnose(self, whitespace="  ", command_only=False):
 | 
				
			||||||
        data = {
 | 
					        data = {
 | 
				
			||||||
            "attributes": self.attributes.copy(),
 | 
					            "attributes": self.attributes.copy(),
 | 
				
			||||||
            "appliance": self.info,
 | 
					            "appliance": self.info,
 | 
				
			||||||
 | 
					            "statistics": self.statistics,
 | 
				
			||||||
            "additional_data": self._additional_data,
 | 
					            "additional_data": self._additional_data,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if command_only:
 | 
					        if command_only:
 | 
				
			||||||
            data.pop("attributes")
 | 
					            data.pop("attributes")
 | 
				
			||||||
            data.pop("appliance")
 | 
					            data.pop("appliance")
 | 
				
			||||||
 | 
					            data.pop("statistics")
 | 
				
			||||||
        data |= {n: c.parameter_groups for n, c in self._commands.items()}
 | 
					        data |= {n: c.parameter_groups for n, c in self._commands.items()}
 | 
				
			||||||
        extra = {n: c.data for n, c in self._commands.items() if c.data}
 | 
					        extra = {n: c.data for n, c in self._commands.items() if c.data}
 | 
				
			||||||
        if extra:
 | 
					        if extra:
 | 
				
			||||||
            data |= {"extra_command_data": extra}
 | 
					            data |= {"extra_command_data": extra}
 | 
				
			||||||
        for sensible in ["PK", "SK", "serialNumber", "code", "coords"]:
 | 
					        for sensible in ["PK", "SK", "serialNumber", "code", "coords", "device"]:
 | 
				
			||||||
            data.get("appliance", {}).pop(sensible, None)
 | 
					            data.get("appliance", {}).pop(sensible, None)
 | 
				
			||||||
        result = helper.pretty_print({"data": data}, whitespace=whitespace)
 | 
					        result = helper.pretty_print({"data": data}, whitespace=whitespace)
 | 
				
			||||||
        result += helper.pretty_print(
 | 
					        result += helper.pretty_print(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -140,6 +140,12 @@ class HonAPI:
 | 
				
			|||||||
        async with self._hon.get(url, params=params) as response:
 | 
					        async with self._hon.get(url, params=params) as response:
 | 
				
			||||||
            return (await response.json()).get("payload", {})
 | 
					            return (await response.json()).get("payload", {})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    async def load_maintenance(self, appliance: HonAppliance):
 | 
				
			||||||
 | 
					        url = f"{const.API_URL}/commands/v1/maintenance-cycle"
 | 
				
			||||||
 | 
					        params = {"macAddress": appliance.mac_address}
 | 
				
			||||||
 | 
					        async with self._hon.get(url, params=params) as response:
 | 
				
			||||||
 | 
					            return (await response.json()).get("payload", {})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async def send_command(
 | 
					    async def send_command(
 | 
				
			||||||
        self,
 | 
					        self,
 | 
				
			||||||
        appliance: HonAppliance,
 | 
					        appliance: HonAppliance,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user