UNPKG

matterbridge-roborock-vacuum-plugin

Version:
38 lines 1.47 kB
import { Protocol } from '../../roborockCommunication/models/index.js'; import { connectDevice } from '../connection.js'; import { waitForPush } from '../waitForPush.js'; export async function cmdRooms(duid, session, logger, local = false) { const device = session.devices.find((d) => d.duid === duid); if (!device) throw new Error(`Device not found: ${duid}`); const { clientRouter, dispatcher } = await connectDevice(duid, session, logger, local); try { const resultPromise = waitForPush(clientRouter, duid, (msg) => { const dps = (msg.get(Protocol.rpc_response) ?? msg.get(Protocol.general_response)); if (!dps?.result) return undefined; const raw = dps.result; if (Array.isArray(raw) && raw.length > 0 && Array.isArray(raw[0]) && typeof raw[0][0] === 'number' && typeof raw[0][1] === 'string') { return raw; } return undefined; }); await dispatcher.getRoomMap(duid, -1); console.log('Waiting for room map response...'); const result = await resultPromise; if (result) { console.log(JSON.stringify(result, null, 2)); } else { console.log('No response received within timeout.'); } } finally { await clientRouter.disconnect(); } } //# sourceMappingURL=rooms.js.map