"""Find matching devices for the supplied dp list""" import json import sys from common_funcs import FakeDevice from custom_components.tuya_local.helpers.device_config import possible_matches def main() -> int: dps = json.loads(" ".join(sys.argv[1:])) device = FakeDevice(dps) for match in possible_matches(dps): dps_seen = set(dps.keys()) print(f"{match.config_type} matched {match.match_quality(dps)}%") for entity in match.all_entities(): print(f" {entity.config_id}:") for dp in entity.dps(): dps_seen.discard(dp.id) print(f" {dp.name}: {dp.get_value(device)}") for dp in dps_seen: print(f" Missing {dp}: {dps[dp]}") if __name__ == "__main__": sys.exit(main())