The version of the code with _zone_expired removed works well, but I've accidentally found a way to trigger the false restores - a "double-fault". Here's the sequence of events, followed by the log:
We left a lot of windows open overnight, specifically zones 10, 11, 12, 13, 14, 15, 17, and 19. All was well.
At 13:24:43, I opened the front door (Zone 9), which raised a fault for that zone and added it to the list. A few seconds later, I closed the door. The panel showed Zone 9 and then Zone 10 and would have continued through the zones in turn; it would have removed Zone 9 from the fault list in about 30 seconds except that I opened the door again at 13:24:48, faulting Zone 9 for a second time in quick succession.
This time, when the panel showed Zone 9 as faulted, it was already on the list and so the code declared all zones from 11 to the end as "restored", and then each of them got faulted when they came back on the panel.
- Code: Select all
13:24:09|Zone OFFICE MOTION DETECTOR (23) has been restored.
13:24:13 [00000001000000000A--],010,[f702000d1010000008020000000000],"FAULT 10 LIVING ROOM WINDOW "
13:24:17 [00000001000000000A--],011,[f702000d1011000008020000000000],"FAULT 11 LIVING ROOM WINDOW "
13:24:21 [00000001000000000A--],012,[f702000d1012000008020000000000],"FAULT 12 MASTER BATHROOM WINDOW "
13:24:25 [00000001000000000A--],013,[f702000d1013000008020000000000],"FAULT 13 MASTER BEDROOM WINDOW "
13:24:29 [00000001000000000A--],014,[f702000d1014000008020000000000],"FAULT 14 OFFICE WINDOW "
13:24:33 [00000001000000000A--],015,[f702000d1015000008020000000000],"FAULT 15 JEFF'S BEDROOM WINDOW "
13:24:37 [00000001000000000A--],017,[f702000d1017000008020000000000],"FAULT 17 KITCHENDESK WINDOW "
13:24:41 [00000001000000000A--],019,[f702000d1019000008020000000000],"FAULT 19 SIDE BATHROOM WINDOW "
13:24:42 !RFX:0012978,04
13:24:42|0012978:0:1:0:0:0:0
13:24:43 !AUI:120600000000666c02456cf5ec0101010000
13:24:43 !AUI:1606000000006763024543f531fb456cf5ec01020106
13:24:43 !RFX:zone09,a0
13:24:43 [00000001000000000A--],009,[f702000d1009000008020000000000],"FAULT 09 FRONT ENTRY DOOR "
13:24:43|120600000000666c02456cf5ec0101010000
13:24:43|Zone FRONT ENTRY DOOR (9) has been faulted.
13:24:43|zone09:0:0:1:1:0:0
13:24:44|1606000000006763024543f531fb456cf5ec01020106
13:24:47 !AUI:120600000000606c02456cf5ec0101010000
13:24:47 !AUI:1606000000006163024543f531fb456cf5ec01020106
13:24:47 !RFX:zone09,80
13:24:47 [00000001000000000A--],010,[f702000d1010000008020000000000],"FAULT 10 LIVING ROOM WINDOW "
13:24:47|120600000000606c02456cf5ec0101010000
13:24:47|1606000000006163024543f531fb456cf5ec01020106
13:24:47|zone09:0:0:1:0:0:0
13:24:48 !AUI:120600000000626c02456cf5ec0101010000
13:24:48 !AUI:1606000000006363024543f531fb456cf5ec01020106
13:24:48 !RFX:zone09,a0
13:24:48 [00000001000000000A--],009,[f702000d1009000008020000000000],"FAULT 09 FRONT ENTRY DOOR "
13:24:48|120600000000626c02456cf5ec0101010000
13:24:48|1606000000006363024543f531fb456cf5ec01020106
13:24:48|Zone LIVING ROOM WINDOW (11) has been restored.
13:24:48|Zone MASTER BATHROOM WINDOW (12) has been restored.
13:24:48|Zone MASTER BEDROOM WINDOW (13) has been restored.
13:24:48|Zone OFFICE WINDOW (14) has been restored.
13:24:48|zone09:0:0:1:1:0:0
13:24:49|Zone Jeff's Bedroom Window (15) has been restored.
13:24:49|Zone KITCHEN (31) has been restored.
13:24:49|Zone KITCHEN DESK WINDOW (17) has been restored.
13:24:49|Zone SIDE BATHROOM WINDOW (19) has been restored.
13:24:51 !AUI:120600000000646c02456cf5ec0101010000
13:24:51 !AUI:1606000000006563024543f531fb456cf5ec01020106
13:24:51 !RFX:zone09,80
13:24:51|120600000000646c02456cf5ec0101010000
13:24:51|zone09:0:0:1:0:0:0
13:24:52|1606000000006563024543f531fb456cf5ec01020106
13:24:53 !AUI:120600000000666c02456cf5ec0101010000
13:24:53 !RFX:zone09,a0
13:24:53|zone09:0:0:1:1:0:0
13:24:54 !AUI:1606000000006763024543f531fb456cf5ec01020106
13:24:54 [00000001000000000A--],009,[f702000d1009000008020000000000],"FAULT 09 FRONT ENTRY DOOR "
13:24:54|120600000000666c02456cf5ec0101010000
13:24:54|1606000000006763024543f531fb456cf5ec01020106
13:24:54|Zone LIVING ROOM WINDOW (10) has been restored.
13:24:56 !AUI:120600000000606c02456cf5ec0101010000
13:24:56 !AUI:1606000000006163024543f531fb456cf5ec01020106
13:24:56 !RFX:zone09,80
13:24:56 [00000001000000000A--],010,[f702000d1010000008020000000000],"FAULT 10 LIVING ROOM WINDOW "
13:24:56|120600000000606c02456cf5ec0101010000
13:24:56|1606000000006163024543f531fb456cf5ec01020106
13:24:56|Zone LIVING ROOM WINDOW (10) has been faulted.
13:24:56|zone09:0:0:1:0:0:0
13:25:00 [00000001000000000A--],011,[f702000d1011000008020000000000],"FAULT 11 LIVING ROOM WINDOW "
13:25:00|Zone LIVING ROOM WINDOW (11) has been faulted.
13:25:04 [00000001000000000A--],012,[f702000d1012000008020000000000],"FAULT 12 MASTER BATHROOM WINDOW "
13:25:04|Zone MASTER BATHROOM WINDOW (12) has been faulted.
13:25:08 [00000001000000000A--],013,[f702000d1013000008020000000000],"FAULT 13 MASTER BEDROOM WINDOW "
13:25:08|Zone MASTER BEDROOM WINDOW (13) has been faulted.
13:25:12 [00000001000000000A--],014,[f702000d1014000008020000000000],"FAULT 14 OFFICE WINDOW "
13:25:12|Zone OFFICE WINDOW (14) has been faulted.
13:25:16 [00000001000000000A--],015,[f702000d1015000008020000000000],"FAULT 15 JEFF'S BEDROOM WINDOW "
13:25:16|Zone Jeff's Bedroom Window (15) has been faulted.
13:25:20 [00000001000000000A--],017,[f702000d1017000008020000000000],"FAULT 17 KITCHENDESK WINDOW "
13:25:20|Zone KITCHEN DESK WINDOW (17) has been faulted.
13:25:21 !RFX:0042883,84
13:25:21|0042883:0:1:1:0:0:0
13:25:23 [00000001000000000A--],019,[f702000d1019000008020000000000],"FAULT 19 SIDE BATHROOM WINDOW "
13:25:24|Zone SIDE BATHROOM WINDOW (19) has been faulted.
13:25:27 [00000001000000000A--],031,[f702000d1031000008020000000000],"FAULT 31 KITCHEN "
13:25:28|Zone KITCHEN (31) has been faulted.
13:25:31 [00000001000000000A--],010,[f702000d1010000008020000000000],"FAULT 10 LIVING ROOM WINDOW "
13:25:35 !AUI:120600000000626c02456cf5ec0101010000
13:25:35 !AUI:1606000000006363024543f531fb456cf5ec01020106
13:25:35 !RFX:zone09,a0
13:25:35 [00000001000000000A--],009,[f702000d1009000008020000000000],"FAULT 09 FRONT ENTRY DOOR "
13:25:35|120600000000626c02456cf5ec0101010000
13:25:35|Zone LIVING ROOM WINDOW (11) has been restored.
13:25:35|zone09:0:0:1:1:0:0
13:25:36|Zone Jeff's Bedroom Window (15) has been restored.
13:25:36|Zone KITCHEN (31) has been restored.
13:25:36|Zone KITCHEN DESK WINDOW (17) has been restored.
13:25:36|Zone MASTER BATHROOM WINDOW (12) has been restored.
13:25:36|Zone MASTER BEDROOM WINDOW (13) has been restored.
13:25:36|Zone OFFICE WINDOW (14) has been restored.
13:25:36|Zone SIDE BATHROOM WINDOW (19) has been restored.
13:25:37|1606000000006363024543f531fb456cf5ec01020106
13:25:38 !AUI:120600000000646c02456cf5ec0101010000
13:25:38 !AUI:1606000000006563024543f531fb456cf5ec01020106
13:25:38 !RFX:zone09,80
13:25:38 [00000001000000000A--],010,[f702000d1010000008020000000000],"FAULT 10 LIVING ROOM WINDOW "
13:25:38|120600000000646c02456cf5ec0101010000
13:25:38|zone09:0:0:1:0:0:0
13:25:39|1606000000006563024543f531fb456cf5ec01020106
13:25:42 [00000001000000000A--],011,[f702000d1011000008020000000000],"FAULT 11 LIVING ROOM WINDOW "
13:25:42|Zone LIVING ROOM WINDOW (11) has been faulted.
13:25:46 [00000001000000000A--],012,[f702000d1012000008020000000000],"FAULT 12 MASTER BATHROOM WINDOW "
13:25:46|Zone MASTER BATHROOM WINDOW (12) has been faulted.
I don't know if it's possible to do better than this without using the actual RFX events directly instead of relying on the panel to interpret the state.
I'll send a pull request for my change removing the timed expiration.
Thanks!
David