UNPKG

matterbridge-roborock-vacuum-plugin

Version:
33 lines 1.54 kB
import { connectDevice } from '../connection.js'; import { parseDeviceStatusPush, parseMapInfoPush, resolveActiveMapId } from '../mapListHelpers.js'; import { waitForPush } from '../waitForPush.js'; export async function cmdMapInfo(duid, session, logger, local = false) { const { clientRouter, dispatcher } = await connectDevice(duid, session, logger, local); try { const mapInfoPromise = waitForPush(clientRouter, duid, parseMapInfoPush); const statusPromise = waitForPush(clientRouter, duid, parseDeviceStatusPush); await dispatcher.getMapInfo(duid); await dispatcher.getDeviceStatus(duid); console.log('Waiting for map info response...'); const [mapResult, statusResult] = await Promise.all([mapInfoPromise, statusPromise]); if (!mapResult) { console.log('No response received within timeout.'); return; } const activeMapId = resolveActiveMapId(statusResult); const maps = mapResult.map_info ?? []; console.log('\nMaps:'); for (const map of maps) { const id = map.mapFlag ?? '?'; const name = map.name ?? '(unnamed)'; const active = activeMapId !== undefined && map.mapFlag === activeMapId ? ' [ACTIVE]' : ''; console.log(` ${id} ${name}${active}`); } console.log('\nRaw response:'); console.log(JSON.stringify(mapResult, null, 2)); } finally { await clientRouter.disconnect(); } } //# sourceMappingURL=mapInfo.js.map