diff --git a/Sources/App/API/DeviceResponse.swift b/Sources/App/API/DeviceResponse.swift index 1673378..32ccf40 100644 --- a/Sources/App/API/DeviceResponse.swift +++ b/Sources/App/API/DeviceResponse.swift @@ -65,10 +65,16 @@ struct DeviceResponse { } self.event = event guard let data = buffer.getSlice(at: 1, length: Message.length) else { + log("\(request): Insufficient data received from device (expected \(Message.length + 1), got \(buffer.readableBytes))") self.response = nil return } - self.response = Message(decodeFrom: data) + guard let message = Message(decodeFrom: data) else { + log("\(request): Failed to decode message received from device") + self.response = nil + return + } + self.response = message } /**