Print all keys
This commit is contained in:
		@@ -24,6 +24,7 @@ def get_arguments():
 | 
			
		||||
    subparser = parser.add_subparsers(title="commands", metavar="COMMAND")
 | 
			
		||||
    keys = subparser.add_parser("keys", help="print as key format")
 | 
			
		||||
    keys.add_argument("keys", help="print as key format", action="store_true")
 | 
			
		||||
    keys.add_argument("--all", help="print also full keys", action="store_true")
 | 
			
		||||
    return vars(parser.parse_args())
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -90,9 +91,12 @@ async def main():
 | 
			
		||||
        for device in hon.devices:
 | 
			
		||||
            print("=" * 10, device.appliance_type, "-", device.nick_name, "=" * 10)
 | 
			
		||||
            if args.get("keys"):
 | 
			
		||||
                key_print(device.data["attributes"]["parameters"])
 | 
			
		||||
                key_print(device.data["appliance"])
 | 
			
		||||
                key_print(device.data)
 | 
			
		||||
                data = device.data.copy()
 | 
			
		||||
                attr = "get" if args.get("all") else "pop"
 | 
			
		||||
                key_print(data["attributes"].__getattribute__(attr)("parameters"))
 | 
			
		||||
                key_print(data.__getattribute__(attr)("appliance"))
 | 
			
		||||
                key_print(data.__getattribute__(attr)("commands"))
 | 
			
		||||
                key_print(data)
 | 
			
		||||
                pretty_print(create_command(device.commands, concat=True))
 | 
			
		||||
            else:
 | 
			
		||||
                pretty_print({"data": device.data})
 | 
			
		||||
 
 | 
			
		||||
@@ -5,4 +5,5 @@ class Appliance:
 | 
			
		||||
    def get(self):
 | 
			
		||||
        if self._data["attributes"]["lastConnEvent"]["category"] == "DISCONNECTED":
 | 
			
		||||
            self._data["attributes"]["parameters"]["machMode"] = "0"
 | 
			
		||||
        self._data["active"] = bool(self._data.get("activity"))
 | 
			
		||||
        return self._data
 | 
			
		||||
 
 | 
			
		||||
@@ -33,6 +33,13 @@ class HonDevice:
 | 
			
		||||
                return self.data[item]
 | 
			
		||||
            return self.attributes["parameters"].get(item, self.appliance[item])
 | 
			
		||||
 | 
			
		||||
    def get(self, item, default=None):
 | 
			
		||||
        try:
 | 
			
		||||
            return self[item]
 | 
			
		||||
        except KeyError | IndexError:
 | 
			
		||||
            return default
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def appliance_model_id(self):
 | 
			
		||||
        return self._appliance.get("applianceModelId")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user