| 10:58:15.557 | Running procedure: 8.11.2a | |
| 10:58:15.560 | This procedure is enabled because the following options: | |
| 10:58:15.560 | - supports.unsolicitedResponse == true | |
| 10:58:15.560 | step: 1 | |
| 10:58:15.560 | - Verify that offline configuration can enable or disable unsolicited responses | |
| 10:58:15.560 | - Configure the unsolicited response mode to 'true' | |
| 10:58:15.560 | [PLG] | Unsolicited responses were enabled |
| 10:58:15.560 | [PLG] | Cycling power |
| 10:58:15.561 | step: 2 | |
| 10:58:15.561 | - Not verified by this tool: that offline configuration can set the unsolicited confirmation timeout from 1 second or less to 1 minute or more | |
| 10:58:15.561 | step: 3 | |
| 10:58:15.561 | - Set the unsolicited confirmation timeout to 2000 milliseconds (to follow the test spec, prefer 5 seconds in the configuration) | |
| 10:58:15.561 | [PLG] | Confirm timeout, for solicited and unsolicited responses, was set to 2000 ms |
| 10:58:15.561 | [PLG] | Cycling power |
| 10:58:15.562 | step: 4 | |
| 10:58:15.562 | - Verify that offline configuration can set the destination master address for unsolicited responses | |
| 10:58:15.562 | - Configure the DUT to transmit unsolicited responses to master address 2 | |
| 10:58:15.562 | [PLG] | Master address was set to 2 |
| 10:58:15.562 | [PLG] | Cycling power |
| 10:58:15.564 | step: 5 | |
| 10:58:15.564 | - Cycle power to the DUT | |
| 10:58:15.564 | [PLG] | Cycling power |
| 10:58:15.565 | step: 6 | |
| 10:58:15.565 | - Read an unsolicited response | |
| 10:58:15.565 | - Verify that the response is empty | |
| 10:58:15.565 | - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported) | |
| 10:58:15.565 | <-P-- | 05 64 0A 44 02 00 00 04 26 82 |
| 10:58:15.565 | C0 F0 82 90 00 43 A2 | |
| 10:58:15.566 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 2 src: 1024 |
| 10:58:15.566 | <-T-- | fir: 1 fin: 1 seq: 0 |
| 10:58:15.566 | <-A-- | Unsolicited Response(0x82) fir: 1 fin: 1 con: 1 uns: 1 seq: 0x00 IIN(DeviceRestart, NeedTime) |
| 10:58:15.566 | step: 7 | |
| 10:58:15.566 | - Configure the DUT to transmit unsolicited responses to master address 1 | |
| 10:58:15.566 | [PLG] | Master address was set to 1 |
| 10:58:15.566 | [PLG] | Cycling power |
| 10:58:15.566 | step: 8 | |
| 10:58:15.566 | - Cycle power to the DUT | |
| 10:58:15.566 | [PLG] | Cycling power |
| 10:58:15.567 | steps: 9 to 14 | |
| 10:58:15.567 | - Read an unsolicited response | |
| 10:58:15.567 | - Verify that the IIN field contains IIN(DeviceRestart) | |
| 10:58:15.567 | - Verify that the response is empty | |
| 10:58:15.567 | - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported) | |
| 10:58:15.567 | - Leave the response unconfirmed for now | |
| 10:58:15.568 | <-P-- | 05 64 0A 44 01 00 00 04 67 88 |
| 10:58:15.568 | C0 F0 82 90 00 43 A2 | |
| 10:58:15.568 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024 |
| 10:58:15.568 | <-T-- | fir: 1 fin: 1 seq: 0 |
| 10:58:15.568 | <-A-- | Unsolicited Response(0x82) fir: 1 fin: 1 con: 1 uns: 1 seq: 0x00 IIN(DeviceRestart, NeedTime) |
| 10:58:15.568 | steps: 15 to 18 | |
| 10:58:15.568 | - Expect a retry 2000 ms (+/- 500 ms) after the previous unsolicited response | |
| 10:58:15.568 | - Verify that the IIN field contains IIN(DeviceRestart) | |
| 10:58:15.568 | - Verify that the response is empty | |
| 10:58:15.568 | - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported) | |
| 10:58:15.568 | - Expect a retry 2000 ms (+/- 500 ms) after the previous unsolicited response | |
| 10:58:15.568 | - Verify that the IIN field contains IIN(DeviceRestart) | |
| 10:58:15.568 | - Verify that the response is empty | |
| 10:58:15.568 | - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported) | |
| 10:58:17.569 | <-P-- | 05 64 0A 44 01 00 00 04 67 88 |
| 10:58:17.569 | C1 F1 82 90 00 AD 43 | |
| 10:58:17.569 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024 |
| 10:58:17.569 | <-T-- | fir: 1 fin: 1 seq: 1 |
| 10:58:17.569 | <-A-- | Unsolicited Response(0x82) fir: 1 fin: 1 con: 1 uns: 1 seq: 0x01 IIN(DeviceRestart, NeedTime) |
| 10:58:19.570 | <-P-- | 05 64 0A 44 01 00 00 04 67 88 |
| 10:58:19.570 | C2 F2 82 90 00 E6 2C | |
| 10:58:19.570 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024 |
| 10:58:19.570 | <-T-- | fir: 1 fin: 1 seq: 2 |
| 10:58:19.570 | <-A-- | Unsolicited Response(0x82) fir: 1 fin: 1 con: 1 uns: 1 seq: 0x02 IIN(DeviceRestart, NeedTime) |
| 10:58:19.570 | step: 19 | |
| 10:58:19.570 | - Write(0x02) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 | |
| 10:58:19.570 | - g80v1, 1-Byte Start/Stop, start: 7 stop: 7 | |
| 10:58:19.570 | - [7] - BooleanValue(false) | |
| 10:58:19.570 | --A-> | Write(0x02) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 |
| 10:58:19.570 | g80v1, 1-Byte Start/Stop, start: 7 stop: 7 | |
| 10:58:19.570 | [7] - BooleanValue(false) | |
| 10:58:19.570 | --T-> | fir: 1 fin: 1 seq: 0 |
| 10:58:19.570 | --L-> | master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 14 dest: 1024 src: 1 |
| 10:58:19.570 | --P-> | 05 64 0E C4 00 04 01 00 43 72 |
| 10:58:19.570 | C0 C0 02 50 01 00 07 07 00 2C 49 | |
| 10:58:19.570 | step: 20 | |
| 10:58:19.570 | - Read a single fragment response w/ sequence(0x00) | |
| 10:58:19.570 | - Verify that the response is empty | |
| 10:58:19.570 | - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported) | |
| 10:58:19.570 | - Verify that the IIN field does not contain bits IIN(DeviceRestart) | |
| 10:58:19.570 | <-P-- | 05 64 0A 44 01 00 00 04 67 88 |
| 10:58:19.570 | C3 C0 81 10 00 BE 52 | |
| 10:58:19.571 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024 |
| 10:58:19.571 | <-T-- | fir: 1 fin: 1 seq: 3 |
| 10:58:19.571 | <-A-- | Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x00 IIN(NeedTime) |
| 10:58:19.571 | steps: 21 to 22 | |
| 10:58:19.571 | - Expect a retry 2000 ms (+/- 500 ms) after the previous unsolicited response | |
| 10:58:19.571 | - Verify that the response is empty | |
| 10:58:19.571 | - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported) | |
| 10:58:19.571 | - Verify that the IIN field does not contain bits IIN(DeviceRestart) | |
| 10:58:21.571 | <-P-- | 05 64 0A 44 01 00 00 04 67 88 |
| 10:58:21.571 | C4 F3 82 10 00 35 3F | |
| 10:58:21.571 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024 |
| 10:58:21.571 | <-T-- | fir: 1 fin: 1 seq: 4 |
| 10:58:21.571 | <-A-- | Unsolicited Response(0x82) fir: 1 fin: 1 con: 1 uns: 1 seq: 0x03 IIN(NeedTime) |
| 10:58:21.572 | step: 23 | |
| 10:58:21.572 | - Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 | |
| 10:58:21.572 | - g60v1, All Objects | |
| 10:58:21.572 | --A-> | Read(0x01) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 |
| 10:58:21.572 | g60v1, All Objects | |
| 10:58:21.572 | --T-> | fir: 1 fin: 1 seq: 0 |
| 10:58:21.572 | --L-> | master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 11 dest: 1024 src: 1 |
| 10:58:21.572 | --P-> | 05 64 0B C4 00 04 01 00 CA 8A |
| 10:58:21.572 | C0 C1 01 3C 01 06 F9 73 | |
| 10:58:21.572 | step: 24 | |
| 10:58:21.572 | - The DUT may defer its response until the startup unsolicited response is confirmed or its confirm timeout expires, so wait up to 4500 ms for it (the response timeout, the unsolicited confirm timeout and 500 ms) | |
| 10:58:21.572 | - Read any number of valid responses beginning w/ sequence(0x01) and incrementing by 1 modulo 16 | |
| 10:58:21.572 | - Confirm each response that asks for a confirmation | |
| 10:58:23.573 | <-P-- | 05 64 E0 44 01 00 00 04 70 7A |
| 10:58:23.573 | C5 C1 81 10 00 01 01 01 00 00 0B 00 00 00 0A 02 85 F0 | |
| 10:58:23.573 | 01 00 00 13 00 01 01 01 01 01 01 01 01 01 01 01 96 07 | |
| 10:58:23.573 | 01 01 01 01 01 01 01 01 01 14 02 01 00 00 09 00 26 7E | |
| 10:58:23.573 | 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85 | |
| 10:58:23.573 | 00 00 01 00 00 01 00 00 01 00 00 01 00 00 15 02 85 CD | |
| 10:58:23.573 | 01 00 00 09 00 01 00 00 01 00 00 01 00 00 01 00 B6 06 | |
| 10:58:23.573 | 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 9E 0F | |
| 10:58:23.573 | 01 00 00 1E 02 01 00 00 09 00 01 00 00 01 00 00 0A 10 | |
| 10:58:23.573 | 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85 | |
| 10:58:23.573 | 00 00 01 00 00 01 00 00 28 02 01 00 00 13 00 01 EF FE | |
| 10:58:23.573 | 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 DB 49 | |
| 10:58:23.573 | 00 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 9E 0F | |
| 10:58:23.573 | 01 00 00 01 00 00 01 00 00 01 00 00 01 00 00 01 FE 85 | |
| 10:58:23.573 | 00 00 01 00 00 01 00 00 01 00 00 61 8D | |
| 10:58:23.573 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 224 dest: 1 src: 1024 |
| 10:58:23.573 | <-T-- | fir: 1 fin: 1 seq: 5 |
| 10:58:23.574 | <-A-- | Response(0x81) fir: 1 fin: 1 con: 0 uns: 0 seq: 0x01 IIN(NeedTime) |
| 10:58:23.574 | g1v1, 2-Byte Start/Stop, start: 0 stop: 11 | |
| 10:58:23.574 | [0] - BooleanValue(false) | |
| 10:58:23.574 | [1] - BooleanValue(false) | |
| 10:58:23.574 | [2] - BooleanValue(false) | |
| 10:58:23.574 | [3] - BooleanValue(false) | |
| 10:58:23.574 | [4] - BooleanValue(false) | |
| 10:58:23.574 | [5] - BooleanValue(false) | |
| 10:58:23.574 | [6] - BooleanValue(false) | |
| 10:58:23.574 | [7] - BooleanValue(false) | |
| 10:58:23.574 | [8] - BooleanValue(false) | |
| 10:58:23.574 | [9] - BooleanValue(false) | |
| 10:58:23.574 | [10] - BooleanValue(false) | |
| 10:58:23.574 | [11] - BooleanValue(false) | |
| 10:58:23.574 | g10v2, 2-Byte Start/Stop, start: 0 stop: 19 | |
| 10:58:23.574 | [0] - flags: 0x01 | |
| 10:58:23.574 | [1] - flags: 0x01 | |
| 10:58:23.574 | [2] - flags: 0x01 | |
| 10:58:23.574 | [3] - flags: 0x01 | |
| 10:58:23.574 | [4] - flags: 0x01 | |
| 10:58:23.574 | [5] - flags: 0x01 | |
| 10:58:23.574 | [6] - flags: 0x01 | |
| 10:58:23.574 | [7] - flags: 0x01 | |
| 10:58:23.574 | [8] - flags: 0x01 | |
| 10:58:23.574 | [9] - flags: 0x01 | |
| 10:58:23.574 | [10] - flags: 0x01 | |
| 10:58:23.574 | [11] - flags: 0x01 | |
| 10:58:23.574 | [12] - flags: 0x01 | |
| 10:58:23.574 | [13] - flags: 0x01 | |
| 10:58:23.574 | [14] - flags: 0x01 | |
| 10:58:23.574 | [15] - flags: 0x01 | |
| 10:58:23.574 | [16] - flags: 0x01 | |
| 10:58:23.574 | [17] - flags: 0x01 | |
| 10:58:23.574 | [18] - flags: 0x01 | |
| 10:58:23.574 | [19] - flags: 0x01 | |
| 10:58:23.574 | g20v2, 2-Byte Start/Stop, start: 0 stop: 9 | |
| 10:58:23.574 | [0] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [1] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [2] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [3] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [4] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [5] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [6] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [7] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [8] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [9] - flags: 0x01 count: 0 | |
| 10:58:23.574 | g21v2, 2-Byte Start/Stop, start: 0 stop: 9 | |
| 10:58:23.574 | [0] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [1] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [2] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [3] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [4] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [5] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [6] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [7] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [8] - flags: 0x01 count: 0 | |
| 10:58:23.574 | [9] - flags: 0x01 count: 0 | |
| 10:58:23.574 | g30v2, 2-Byte Start/Stop, start: 0 stop: 9 | |
| 10:58:23.574 | [0] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [1] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [2] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [3] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [4] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [5] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [6] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [7] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [8] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [9] - flags: 0x01 value: 0 | |
| 10:58:23.574 | g40v2, 2-Byte Start/Stop, start: 0 stop: 19 | |
| 10:58:23.574 | [0] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [1] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [2] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [3] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [4] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [5] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [6] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [7] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [8] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [9] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [10] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [11] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [12] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [13] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [14] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [15] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [16] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [17] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [18] - flags: 0x01 value: 0 | |
| 10:58:23.574 | [19] - flags: 0x01 value: 0 | |
| 10:58:23.575 | The answer to the READ arrived 2002 ms after the unconfirmed unsolicited response, whose confirm timeout is 2000 ms | |
| 10:58:23.575 | steps: 25 to 26 | |
| 10:58:23.575 | - Expect a retry 2000 ms (+/- 500 ms) after the previous unsolicited response | |
| 10:58:23.575 | - Verify that the response is empty | |
| 10:58:23.575 | - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported) | |
| 10:58:23.575 | - Answer a response that asks for a confirmation with a confirmation of the wrong sequence number | |
| 10:58:23.575 | <-P-- | 05 64 0A 44 01 00 00 04 67 88 |
| 10:58:23.575 | C6 F4 82 10 00 53 AF | |
| 10:58:23.575 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024 |
| 10:58:23.575 | <-T-- | fir: 1 fin: 1 seq: 6 |
| 10:58:23.575 | <-A-- | Unsolicited Response(0x82) fir: 1 fin: 1 con: 1 uns: 1 seq: 0x04 IIN(NeedTime) |
| 10:58:23.575 | --A-> | Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 1 seq: 0x05 |
| 10:58:23.575 | --T-> | fir: 1 fin: 1 seq: 0 |
| 10:58:23.575 | --L-> | master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1 |
| 10:58:23.575 | --P-> | 05 64 08 C4 00 04 01 00 9A 19 |
| 10:58:23.575 | C0 D5 00 9F D5 | |
| 10:58:23.575 | steps: 27 to 28 | |
| 10:58:23.575 | - Expect a retry 2000 ms (+/- 500 ms) after the previous unsolicited response | |
| 10:58:23.575 | - Verify that the response is empty | |
| 10:58:23.575 | - Verify that the IIN field does not contain bits IIN(ParamError, ObjectUnknown, FuncNotSupported) | |
| 10:58:23.575 | - Confirm each response that asks for a confirmation | |
| 10:58:25.574 | <-P-- | 05 64 0A 44 01 00 00 04 67 88 |
| 10:58:25.574 | C7 F5 82 10 00 BD 4E | |
| 10:58:25.574 | <-L-- | master: 0 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0x44 length: 10 dest: 1 src: 1024 |
| 10:58:25.574 | <-T-- | fir: 1 fin: 1 seq: 7 |
| 10:58:25.574 | <-A-- | Unsolicited Response(0x82) fir: 1 fin: 1 con: 1 uns: 1 seq: 0x05 IIN(NeedTime) |
| 10:58:25.574 | --A-> | Confirm(0x00) fir: 1 fin: 1 con: 0 uns: 1 seq: 0x05 |
| 10:58:25.574 | --T-> | fir: 1 fin: 1 seq: 0 |
| 10:58:25.574 | --L-> | master: 1 pri: 1 fcb: 0 fcv: 0 func: UNCONFIRMED_USER_DATA(0x04) 0xC4 length: 8 dest: 1024 src: 1 |
| 10:58:25.574 | --P-> | 05 64 08 C4 00 04 01 00 9A 19 |
| 10:58:25.574 | C0 D5 00 9F D5 | |
| 10:58:25.574 | step: 29 | |
| 10:58:25.574 | - Generate Class 1, 2 or 3 events that would normally trigger an unsolicited response | |
| 10:58:25.575 | [PLG] | Updated BI 0: value=true, flags=81, timestamp=1793185105574 (UNSYNCHRONIZED_TIME) |
| 10:58:25.575 | step: 30 | |
| 10:58:25.575 | - Expect no unsolicited response within 2500 ms. | |
| 10:58:28.078 | Passed procedure: 8.11.2a |