Is polling used? RS232 vs IP150
<!--
Before asking a question look into wiki and FAQ page:
- Wiki: https://github.com/ParadoxAlarmInterface/pai/wiki
- FAQ: https://github.com/ParadoxAlarmInterface/pai/wiki/FAQ
- Use search before posting. Maybe your issue was already solved.
- You can always use https://gitter.im/paradox-alarm-interface/community to ask a quick question.
-->

## Alarm system
<!-- Describe your panel model (EVO192, Spectra SP4000, Magellan MG5050), access mode (Serial, IP150, etc..) and hardware. -->
EVO192 and IP150

## Environment
<!-- 
Windows, Linux, RPI...
Python version
-->

### Git branch
<!-- Which Git branch you use. Did you tried "dev" branch? -->

## Question
<!--  -->
I wrote this  [Vera plugin](github.com/a-lurker/Vera-Plugin-Paradox-IP150-wps)  sometime back that scrapes the IP150 web page every second or so. Polling is not good as it ties up CPU time and hammers the IP150. I want an event driven set up. I started to write a plugin that communicates directly with the IP150 and that worked OK. Except once again it looks like I have to poll the IP150 plus the encryption was a fair bit of overhead. I haven't seen any info that suggests the IP150 can do any type of callback. ie it just waits for read commands ie has to be scanned?

So question: - how I can I avoid polling. It looks like the RS232 code just loops till it gets an RS232 msg then acts on it. That's very fast. What does the IP150 code do? Does it poll or is there an IP150 message that says something has changed --- come check for changes. All the IP150 code I've seen polls on time basis and just checks for changes by reading through the RAM looking for change of status.

So if the IP150 isn't polled by this code, can someone please direct me to the point in the code where it gets events from the IP150 and how that actually works.

Some info in the FAQs re: polling or not polling or general reaction time to alarm status changes would be useful. Thanks.

## Logs (if required)
<!-- PLEASE DO NOT SEND LOGS IN CLEAR TEXT AS THEY MAY CONTAIN SENSITIVE INFORMATION
If you wish to add a log (which will greatly help us), please follow the following instructions:

1. Go to https://keybase.io/encrypt
2. Write 'jpbarraca' as the recipient
3. Write your log or add a link to the log file (if using services such as dropbox).
4. Click Encrypt
5. Save the result to a text file and add it as an attachment.-->
