Skip to content

"missing field rfID with PIR on/off command on Reolink Altas PT Ultra #397

@endmarsfr

Description

@endmarsfr

neolink pir --config=neolink.toml Camera01 off or neolink pir --config=neolink.toml Camera01 off command lead to "missing field rfID error.
I am using latest version : Neolink 7158943 release

My Camera is Camera01: Model Reolink Altas PT Ultra
My firmware is Firmware Version v3.0.0.5649_25111355

I can connect successfully but command failed with Custom("missing field rfID") error as you can see in the log
I can compile neolink with more logs if you need it.

neolink pir --config=neolink.toml Camera01 off
[2026-02-20T08:52:23Z INFO neolink] Neolink 7158943 release
[2026-02-20T08:52:23Z INFO neolink::utils] Camera01: Connecting to camera at UID: xxxxxxxxxxxxxxxx
[2026-02-20T08:52:23Z INFO neolink_core::bc_protocol] Camera01: Trying local discovery
[2026-02-20T08:52:23Z ERROR neolink_core::bc_protocol::connection::discovery] Error on discovery socket: Io(Os { code: 10054, kind: ConnectionReset, message: "Une connexion existante a dû être fermée par l’hôte distant." })
[2026-02-20T08:52:24Z INFO neolink_core::bc_protocol] Camera01: Registration with reolink servers failed. Retrying: 1/10
[2026-02-20T08:52:25Z ERROR neolink_core::bc_protocol::connection::discovery] Error on discovery socket: Io(Os { code: 10054, kind: ConnectionReset, message: "Une connexion existante a dû être fermée par l’hôte distant." })
[2026-02-20T08:52:25Z INFO neolink_core::bc_protocol] Camera01: Registration with reolink servers failed. Retrying: 2/10
[2026-02-20T08:52:25Z INFO neolink_core::bc_protocol] Camera01: Local discovery success xxxxxxxxxxxxxxxx at 192.168.1.55:19381
[2026-02-20T08:52:25Z INFO neolink::utils] Camera01: Logging in
[2026-02-20T08:52:25Z INFO neolink::utils] Camera01: Connected and logged in
[2026-02-20T08:52:27Z INFO neolink::common::camthread] Camera01: Camera time is already set: 2026-02-20 9:52:24.0 -01:00:00
[2026-02-20T08:52:29Z WARN neolink::common::pushnoti] Issue connecting to push notifications server: Http(reqwest::Error { kind: Decode, source: Error("expected value", line: 1, column: 1) })
[2026-02-20T08:52:29Z INFO neolink::common::neocam] Camera01: Model Reolink Altas PT Ultra
[2026-02-20T08:52:29Z INFO neolink::common::neocam] Camera01: Firmware Version v3.0.0.5649_25111355
[2026-02-20T08:52:29Z ERROR neolink_core::bc::de] header.msg_id: 212
[2026-02-20T08:52:29Z ERROR neolink_core::bc::de] processed_payload_buf: [3C, 3F, 78, 6D, 6C, 20, 76, 65, 72, 73, 69, 6F, 6E, 3D, 22, 31, 2E, 30, 22, 20, 65, 6E, 63, 6F, 64, 69, 6E, 67, 3D, 22, 55, 54, 46, 2D, 38, 22, 20, 3F, 3E, A, 3C, 62, 6F, 64, 79, 3E, A, 3C, 72, 66, 41, 6C, 61, 72, 6D, 43, 66, 67, 20, 76, 65, 72, 73, 69, 6F, 6E, 3D, 22, 31, 2E, 31, 22, 3E, A, 3C, 65, 6E, 61, 62, 6C, 65, 3E, 31, 3C, 2F, 65, 6E, 61, 62, 6C, 65, 3E, A, 3C, 73, 65, 6E, 73, 69, 56, 61, 6C, 75, 65, 3E, 31, 3C, 2F, 73, 65, 6E, 73, 69, 56, 61, 6C, 75, 65, 3E, A, 3C, 72, 65, 64, 75, 63, 65, 46, 61, 6C, 73, 65, 41, 6C, 61, 72, 6D, 3E, 31, 3C, 2F, 72, 65, 64, 75, 63, 65, 46, 61, 6C, 73, 65, 41, 6C, 61, 72, 6D, 3E, A, 3C, 69, 6E, 74, 65, 72, 76, 61, 6C, 3E, 31, 3C, 2F, 69, 6E, 74, 65, 72, 76, 61, 6C, 3E, A, 3C, 6D, 61, 78, 41, 6C, 61, 72, 6D, 54, 69, 6D, 65, 3E, 33, 36, 39, 33, 36, 33, 38, 34, 3C, 2F, 6D, 61, 78, 41, 6C, 61, 72, 6D, 54, 69, 6D, 65, 3E, A, 3C, 69, 6E, 74, 65, 72, 76, 61, 6C, 55, 73, 65, 52, 61, 6E, 67, 65, 3E, 31, 3C, 2F, 69, 6E, 74, 65, 72, 76, 61, 6C, 55, 73, 65, 52, 61, 6E, 67, 65, 3E, A, 3C, 69, 6E, 74, 65, 72, 76, 61, 6C, 53, 65, 63, 4D, 69, 6E, 3E, 35, 3C, 2F, 69, 6E, 74, 65, 72, 76, 61, 6C, 53, 65, 63, 4D, 69, 6E, 3E, A, 3C, 69, 6E, 74, 65, 72, 76, 61, 6C, 53, 65, 63, 4D, 61, 78, 3E, 31, 32, 30, 3C, 2F, 69, 6E, 74, 65, 72, 76, 61, 6C, 53, 65, 63, 4D, 61, 78, 3E, A, 3C, 2F, 72, 66, 41, 6C, 61, 72, 6D, 43, 66, 67, 3E, A, 3C, 2F, 62, 6F, 64, 79, 3E, A]::Ok("\n\n<rfAlarmCfg version="1.1">\n1\n1\n1\n1\n36936384\n1\n5\n120\n\n\n")
[2026-02-20T08:52:29Z ERROR neolink_core::bc::de] e: Custom("missing field rfID")
[2026-02-20T08:52:29Z WARN neolink::common::camthread] Camera01: Connection Lost: Nom Parsing error: Nom Error: VerboseError { errors: [([], Nom(MapRes)), ([], Context("Unable to parse Payload XML"))] }
[2026-02-20T08:52:29Z INFO neolink::common::camthread] Camera01: Attempt reconnect in 50ms
[2026-02-20T08:52:30Z INFO neolink::utils] Camera01: Connecting to camera at UID: xxxxxxxxxxxxxxxx
[2026-02-20T08:52:30Z INFO neolink_core::bc_protocol] Camera01: Trying local discovery
[2026-02-20T08:52:30Z ERROR neolink_core::bc_protocol::connection::discovery] Error on discovery socket: Io(Os { code: 10054, kind: ConnectionReset, message: "Une connexion existante a dû être fermée par l’hôte distant." })
[2026-02-20T08:52:30Z INFO neolink_core::bc_protocol] Camera01: Registration with reolink servers failed. Retrying: 1/10
[2026-02-20T08:52:30Z INFO neolink_core::bc_protocol] Camera01: Local discovery success xxxxxxxxxxxxxxxx at 192.168.1.55:19381
[2026-02-20T08:52:30Z INFO neolink::utils] Camera01: Logging in
[2026-02-20T08:52:30Z INFO neolink::utils] Camera01: Connected and logged in
[2026-02-20T08:52:32Z INFO neolink::common::camthread] Camera01: Camera time is already set: 2026-02-20 9:52:29.0 -01:00:00
[2026-02-20T08:52:34Z ERROR neolink_core::bc::de] header.msg_id: 212
[2026-02-20T08:52:34Z ERROR neolink_core::bc::de] processed_payload_buf: [3C, 3F, 78, 6D, 6C, 20, 76, 65, 72, 73, 69, 6F, 6E, 3D, 22, 31, 2E, 30, 22, 20, 65, 6E, 63, 6F, 64, 69, 6E, 67, 3D, 22, 55, 54, 46, 2D, 38, 22, 20, 3F, 3E, A, 3C, 62, 6F, 64, 79, 3E, A, 3C, 72, 66, 41, 6C, 61, 72, 6D, 43, 66, 67, 20, 76, 65, 72, 73, 69, 6F, 6E, 3D, 22, 31, 2E, 31, 22, 3E, A, 3C, 65, 6E, 61, 62, 6C, 65, 3E, 31, 3C, 2F, 65, 6E, 61, 62, 6C, 65, 3E, A, 3C, 73, 65, 6E, 73, 69, 56, 61, 6C, 75, 65, 3E, 31, 3C, 2F, 73, 65, 6E, 73, 69, 56, 61, 6C, 75, 65, 3E, A, 3C, 72, 65, 64, 75, 63, 65, 46, 61, 6C, 73, 65, 41, 6C, 61, 72, 6D, 3E, 31, 3C, 2F, 72, 65, 64, 75, 63, 65, 46, 61, 6C, 73, 65, 41, 6C, 61, 72, 6D, 3E, A, 3C, 69, 6E, 74, 65, 72, 76, 61, 6C, 3E, 31, 3C, 2F, 69, 6E, 74, 65, 72, 76, 61, 6C, 3E, A, 3C, 6D, 61, 78, 41, 6C, 61, 72, 6D, 54, 69, 6D, 65, 3E, 33, 36, 39, 33, 36, 33, 38, 34, 3C, 2F, 6D, 61, 78, 41, 6C, 61, 72, 6D, 54, 69, 6D, 65, 3E, A, 3C, 69, 6E, 74, 65, 72, 76, 61, 6C, 55, 73, 65, 52, 61, 6E, 67, 65, 3E, 31, 3C, 2F, 69, 6E, 74, 65, 72, 76, 61, 6C, 55, 73, 65, 52, 61, 6E, 67, 65, 3E, A, 3C, 69, 6E, 74, 65, 72, 76, 61, 6C, 53, 65, 63, 4D, 69, 6E, 3E, 35, 3C, 2F, 69, 6E, 74, 65, 72, 76, 61, 6C, 53, 65, 63, 4D, 69, 6E, 3E, A, 3C, 69, 6E, 74, 65, 72, 76, 61, 6C, 53, 65, 63, 4D, 61, 78, 3E, 31, 32, 30, 3C, 2F, 69, 6E, 74, 65, 72, 76, 61, 6C, 53, 65, 63, 4D, 61, 78, 3E, A, 3C, 2F, 72, 66, 41, 6C, 61, 72, 6D, 43, 66, 67, 3E, A, 3C, 2F, 62, 6F, 64, 79, 3E, A]::Ok("\n\n<rfAlarmCfg version="1.1">\n1\n1\n1\n1\n36936384\n1\n5\n120\n\n\n")
[2026-02-20T08:52:34Z ERROR neolink_core::bc::de] e: Custom("missing field rfID")
[2026-02-20T08:52:34Z WARN neolink::common::camthread] Camera01: Connection Lost: Nom Parsing error: Nom Error: VerboseError { errors: [([F0, DE, BC, A, 5D, 0, 0, 0, 6F, 0, 0, 0, 0, 0, 6, 0, C8, 0, 0, 0, 0, 0, 0, 0, 5D, DD, AF, 55, 50, FA, B0, 1B, 3D, 5D, 17, 9A, C9, 12, 6D, 8, BD, 42, 8D, 14, 75, 63, 43, 2C, B5, 4F, A8, 5A, 19, D7, F, B7, 14, 8B, 15, 94, 67, 55, 5D, 3A, AC, ED, 1, 18, 7B, 14, B7, E1, 8B, CC, 31, 3, 83, A6, 69, 2E, 68, A6, 67, 4E, 65, E4, C5, 1C, 1D, 98, 2C, 21, 3B, BA, C1, 7B, 84, 45, 45, 26, C8, 74, EF, 74, D6, FE, DD, 49, AD, B6, DF, B2, 71, DD, 8F, F6, DC, 78, B7, A1, EC, E, 2, BE, 3B, 80, 2B, 1D, 9, 99, 9D, 7D, 9E, 2D, 9B], Nom(MapRes)), ([F0, DE, BC, A, 5D, 0, 0, 0, 6F, 0, 0, 0, 0, 0, 6, 0, C8, 0, 0, 0, 0, 0, 0, 0, 5D, DD, AF, 55, 50, FA, B0, 1B, 3D, 5D, 17, 9A, C9, 12, 6D, 8, BD, 42, 8D, 14, 75, 63, 43, 2C, B5, 4F, A8, 5A, 19, D7, F, B7, 14, 8B, 15, 94, 67, 55, 5D, 3A, AC, ED, 1, 18, 7B, 14, B7, E1, 8B, CC, 31, 3, 83, A6, 69, 2E, 68, A6, 67, 4E, 65, E4, C5, 1C, 1D, 98, 2C, 21, 3B, BA, C1, 7B, 84, 45, 45, 26, C8, 74, EF, 74, D6, FE, DD, 49, AD, B6, DF, B2, 71, DD, 8F, F6, DC, 78, B7, A1, EC, E, 2, BE, 3B, 80, 2B, 1D, 9, 99, 9D, 7D, 9E, 2D, 9B], Context("Unable to parse Payload XML"))] }
[2026-02-20T08:52:34Z INFO neolink::common::camthread] Camera01: Attempt reconnect in 100ms
Error: Nom Parsing error: Nom Error: VerboseError { errors: [([F0, DE, BC, A, 5D, 0, 0, 0, 6F, 0, 0, 0, 0, 0, 6, 0, C8, 0, 0, 0, 0, 0, 0, 0, 5D, DD, AF, 55, 50, FA, B0, 1B, 3D, 5D, 17, 9A, C9, 12, 6D, 8, BD, 42, 8D, 14, 75, 63, 43, 2C, B5, 4F, A8, 5A, 19, D7, F, B7, 14, 8B, 15, 94, 67, 55, 5D, 3A, AC, ED, 1, 18, 7B, 14, B7, E1, 8B, CC, 31, 3, 83, A6, 69, 2E, 68, A6, 67, 4E, 65, E4, C5, 1C, 1D, 98, 2C, 21, 3B, BA, C1, 7B, 84, 45, 45, 26, C8, 74, EF, 74, D6, FE, DD, 49, AD, B6, DF, B2, 71, DD, 8F, F6, DC, 78, B7, A1, EC, E, 2, BE, 3B, 80, 2B, 1D, 9, 99, 9D, 7D, 9E, 2D, 9B], Nom(MapRes)), ([F0, DE, BC, A, 5D, 0, 0, 0, 6F, 0, 0, 0, 0, 0, 6, 0, C8, 0, 0, 0, 0, 0, 0, 0, 5D, DD, AF, 55, 50, FA, B0, 1B, 3D, 5D, 17, 9A, C9, 12, 6D, 8, BD, 42, 8D, 14, 75, 63, 43, 2C, B5, 4F, A8, 5A, 19, D7, F, B7, 14, 8B, 15, 94, 67, 55, 5D, 3A, AC, ED, 1, 18, 7B, 14, B7, E1, 8B, CC, 31, 3, 83, A6, 69, 2E, 68, A6, 67, 4E, 65, E4, C5, 1C, 1D, 98, 2C, 21, 3B, BA, C1, 7B, 84, 45, 45, 26, C8, 74, EF, 74, D6, FE, DD, 49, AD, B6, DF, B2, 71, DD, 8F, F6, DC, 78, B7, A1, EC, E, 2, BE, 3B, 80, 2B, 1D, 9, 99, 9D, 7D, 9E, 2D, 9B], Context("Unable to parse Payload XML"))] }

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions