XaF / qolsysgw

Qolsys IQ Panel 2+ gateway to an Home Assistant Alarm Control Panel
MIT License
131 stars 13 forks source link

✨ [feature] Add support for tampered sensors #74

Closed XaF closed 1 year ago

XaF commented 1 year ago

This adds a tampered attribute to sensors indicating if the sensor is currently believed to be tampered with or not.

This is not 100% accurate as it depends on specific sets of events that the panel is sending in a given order, which allow to guess if a sensor is currently tampered or not. This should be taken with a huge grain of salt as, for instance, we do not have that information when getting the summary state for the sensors from the panel (and will be able to know a sensor was tampered when it won't be tampered anymore).

More details are available at https://github.com/XaF/qolsysgw/issues/73 as to the identified interactions and how they are implemented here.

Closes #73

github-actions[bot] commented 1 year ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
apps/qolsysgw
   gateway.py1583180%95–96, 131–154, 162, 187–188, 216–217, 226–227, 236–237, 243, 263–264
apps/qolsysgw/mqtt
   exceptions.py170100% 
   listener.py53885%42–44, 68–70, 74–75
   updater.py238797%164, 212, 215, 333, 384, 462, 540
   utils.py50100% 
apps/qolsysgw/qolsys
   actions.py50296%24, 34
   config.py701381%63–64, 66, 70, 75, 90–102, 112, 120, 146
   control.py151795%39, 47, 51, 58, 65, 81, 88
   events.py2322191%64, 69, 100, 104, 130–131, 163, 167, 190, 201, 208, 235, 251, 265, 278–280, 325, 357, 369, 414
   exceptions.py290100% 
   observable.py17382%13, 17–18
   partition.py120794%149–153, 159–163, 166
   sensors.py2052090%57–78, 136, 194, 198, 205, 222, 226
   socket.py931980%36, 43, 52–54, 83–84, 103–105, 109–110, 114–116, 126–127, 133–134
   state.py64395%24, 74, 82
   utils.py47491%11, 14, 20–21
TOTAL154914591% 

Tests Skipped Failures Errors Time
118 0 :zzz: 0 :x: 0 :fire: 31.115s :stopwatch:
github-actions[bot] commented 1 year ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
apps/qolsysgw
   gateway.py1583180%95–96, 131–154, 162, 187–188, 216–217, 226–227, 236–237, 243, 263–264
apps/qolsysgw/mqtt
   exceptions.py170100% 
   listener.py53885%42–44, 68–70, 74–75
   updater.py238797%164, 212, 215, 333, 384, 462, 540
   utils.py50100% 
apps/qolsysgw/qolsys
   actions.py50296%24, 34
   config.py701381%63–64, 66, 70, 75, 90–102, 112, 120, 146
   control.py151795%39, 47, 51, 58, 65, 81, 88
   events.py2322191%64, 69, 100, 104, 130–131, 163, 167, 190, 201, 208, 235, 251, 265, 278–280, 325, 357, 369, 414
   exceptions.py290100% 
   observable.py17382%13, 17–18
   partition.py120794%149–153, 159–163, 166
   sensors.py2052090%57–78, 136, 194, 198, 205, 222, 226
   socket.py931980%36, 43, 52–54, 83–84, 103–105, 109–110, 114–116, 126–127, 133–134
   state.py64395%24, 74, 82
   utils.py47491%11, 14, 20–21
TOTAL154914591% 

Tests Skipped Failures Errors Time
118 0 :zzz: 0 :x: 0 :fire: 31.664s :stopwatch:
github-actions[bot] commented 1 year ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
apps/qolsysgw
   gateway.py1583180%95–96, 131–154, 162, 187–188, 216–217, 226–227, 236–237, 243, 263–264
apps/qolsysgw/mqtt
   exceptions.py170100% 
   listener.py53885%42–44, 68–70, 74–75
   updater.py238797%164, 212, 215, 333, 384, 462, 540
   utils.py50100% 
apps/qolsysgw/qolsys
   actions.py50296%24, 34
   config.py701381%63–64, 66, 70, 75, 90–102, 112, 120, 146
   control.py151795%39, 47, 51, 58, 65, 81, 88
   events.py2322191%64, 69, 100, 104, 130–131, 163, 167, 190, 201, 208, 235, 251, 265, 278–280, 325, 357, 369, 414
   exceptions.py290100% 
   observable.py17382%13, 17–18
   partition.py120794%149–153, 159–163, 166
   sensors.py2052090%57–78, 136, 194, 198, 205, 222, 226
   socket.py931980%36, 43, 52–54, 83–84, 103–105, 109–110, 114–116, 126–127, 133–134
   state.py64395%24, 74, 82
   utils.py47491%11, 14, 20–21
TOTAL154914591% 

Tests Skipped Failures Errors Time
118 0 :zzz: 0 :x: 0 :fire: 31.743s :stopwatch: