congatudo / Congatudo

Cloud replacement for Conga vacuum robots enabling local-only operation
https://congatudo.cloud
Apache License 2.0
79 stars 24 forks source link

Timeout for response with every command #85

Closed erpayo closed 9 months ago

erpayo commented 11 months ago

Every command sent to the conga produces a timeout waiting for response. Basic commands get executed, like "locate", "clean", "split room", etc but a timeout error is shown. But commands like "clean room X" are not executed; I think it happens beacuse they need to execute a chain of commands and not getting response prevents to continue with the next command (just guessing)

To Reproduce

go to Congatudo home select a room click "clean 1 segments" timeout error

Screenshots

Captura de Pantalla 2023-11-09 a las 14 14 33

Vacuum Model

Conga 3690

Congatudo Version

Valetudo 2023.05 commit 093d853701a06a4d07aa494c7b84650cb9ea2f3e

Expected behavior

Additional context

logs:

[2023-11-09T13:14:32.529Z] [WARN] MapSegmentationCapabilityRouter: Error while handling route "/" {
  body: {
    action: 'start_segment_action',
    segment_ids: [ '15' ],
    iterations: 1,
    customOrder: false
  },
  message: "Timeout waiting for response from opcode 'DEVICE_MAPID_GET_GLOBAL_INFO_RSP'"
}
[2023-11-09T13:14:39.385Z] [ERROR] Error: write EPIPE
    at afterWriteDispatched (node:internal/stream_base_commons:160:15)
    at writeGeneric (node:internal/stream_base_commons:151:3)
    at Socket._writeGeneric (node:net:917:11)
    at Socket._write (node:net:929:8)
    at writeOrBuffer (node:internal/streams/writable:392:12)
    at _write (node:internal/streams/writable:333:10)
    at Writable.write (node:internal/streams/writable:337:10)
    at PacketSocket._write (/snapshot/app/node_modules/@agnoc/core/lib/sockets/packet.socket.js:116:19)
    at doWrite (node:internal/streams/writable:411:12)
    at clearBuffer (node:internal/streams/writable:572:7) {
  errno: -32,
  code: 'EPIPE',
  syscall: 'write'
}
[2023-11-09T13:14:39.394Z] [ERROR] Error: write EPIPE
    at afterWriteDispatched (node:internal/stream_base_commons:160:15)
    at writeGeneric (node:internal/stream_base_commons:151:3)
    at Socket._writeGeneric (node:net:917:11)
    at Socket._write (node:net:929:8)
    at writeOrBuffer (node:internal/streams/writable:392:12)
    at _write (node:internal/streams/writable:333:10)
    at Writable.write (node:internal/streams/writable:337:10)
    at PacketSocket._write (/snapshot/app/node_modules/@agnoc/core/lib/sockets/packet.socket.js:116:19)
    at doWrite (node:internal/streams/writable:411:12)
    at clearBuffer (node:internal/streams/writable:572:7) {
  errno: -32,
  code: 'EPIPE',
  syscall: 'write'
}

write EPIPE errors are constant. Also there are random AssertionErrors:

AssertionError [ERR_ASSERTION]: unpack: missing data
    at unpack (/snapshot/app/node_modules/@agnoc/core/lib/value-objects/packet.value-object.js:25:23)
    at Packet.fromBuffer (/snapshot/app/node_modules/@agnoc/core/lib/value-objects/packet.value-object.js:96:23)
    at PacketSocket.onReadable (/snapshot/app/node_modules/@agnoc/core/lib/sockets/packet.socket.js:94:33)
    at process.processImmediate (node:internal/timers:471:21) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: false,
  expected: true,
  operator: '=='
}
erpayo commented 9 months ago

updated homeassistant hardware to Raspberry Pi with 8GB of RAM and the problem disapeared. It was a hardware issue, probably due to not enough RAM.