MCPcopy Create free account
hub / github.com/bytespider/Meross / sendMessageToDevice

Method sendMessageToDevice

packages/lib/src/deviceManager.ts:38–58  ·  view source on GitHub ↗
(
    deviceOrId: UUID | Device,
    message: Message
  )

Source from the content-addressed store, hash-verified

36 }
37
38 async sendMessageToDevice(
39 deviceOrId: UUID | Device,
40 message: Message
41 ): Promise<Record<string, any>> {
42 let device = deviceOrId as Device;
43 if (typeof deviceOrId === 'string') {
44 device = this.getDeviceById(deviceOrId) as Device;
45 if (!device) {
46 throw new Error(`Device with ID ${deviceOrId} not found`);
47 }
48 }
49
50 const shouldEncrypt = this.shouldEncryptMessage(device, message);
51
52 return this.transport.send({
53 message,
54 encryptionKey: shouldEncrypt
55 ? device.encryptionKeys?.sharedKey
56 : undefined,
57 });
58 }
59
60 private shouldEncryptMessage(device: Device, message: Message): boolean {
61 const hasAbility = device.hasAbility(Namespace.ENCRYPT_ECDHE);

Callers 1

Calls 3

getDeviceByIdMethod · 0.95
shouldEncryptMessageMethod · 0.95
sendMethod · 0.80

Tested by

no test coverage detected