PQ Discovery & Monitoring: - [ ] ControllerClient.subscribe() - Subscribe to PQ state updates - [ ] ControllerClient.map() - Get current PQ state map (serial → info) - [ ] ControllerClient.map_and_version() - Get PQ state map with version number - [ ] ControllerClient.get(serial, timeout) - Get specific PQ info by serial - [ ] ControllerClient.get_serial_for_name(name, timeout) - Resolve PQ name to serial - [ ] ControllerClient.wait_for_change() - Wait for any PQ state change - [ ] ControllerClient.wait_for_change_from_version(version, timeout) - Wait for specific version change - [ ] ControllerClient.wait_for_state(state_function, timeout) - Wait for custom state condition
PQ Discovery & Monitoring: