def device_connections(printer: SyncThru) -> set[tuple[str, str]]: """Get device connections for device registry.""" connections = set() try: mac = printer.raw()["identity"]["mac_addr"] if mac: connections.add((dr.CONNECTION_NETWORK_MAC, mac)) except AttributeError: pass return connections
async def main() -> None: async with aiohttp.ClientSession() as session: printer = SyncThru(IP_PRINTER, session) await printer.update() # Is printer online? print("Printer online?:", printer.is_online()) # Show the printer status print("Printer status:", printer.device_status()) if printer.is_online(): # Show details about the printer print("Printer model:", printer.model()) # Get the details of a cartridge print("Toner Cyan details:", printer.toner_status()["cyan"]) # Get the details about a tray print("Tray 1 Capacity:", printer.input_tray_status()["tray_1"]["capa"]) # Print all available details from the printer print("All data:\n", printer.raw())
def device_connections(printer: SyncThru) -> set[tuple[str, str]]: """Get device connections for device registry.""" if mac := printer.raw().get("identity", {}).get("mac_addr"): return {(dr.CONNECTION_NETWORK_MAC, mac)}