I've made some updates to your app. Specifically, AlarmPanel will now raise events for the !RFX messages, which will be processed by a new Sensor Type RFX Sensor. The current app maps the fault codes to virtual sensors which works great. By mapping to RFX sensors, you get a couple of advantages:
1) You can monitor wireless sensors that are not specifically enrolled in the alarm panel.
The !RFX messages come across for any wireless sensor in range. This is useful for debugging before enrolling, or just for monitoring sensors that aren't part of your alarm network.
2) You can monitor all of the loops on a specific sensor.
For example, the wireless sensors in my house all have three loops. There's a loop for the builtin reed sensor, as well as a loop for wired devices (e.g. you can wire a device into the sensor itself). Thus each one of my wireless sensors can serve dual zones. Additionally, the sensors I have at my house have a loop for tamper. Additionally, my smoke alarm has a freeze sensor builtin on a separate loop. The caveat for loops is right now, a trigger for any loop triggers the DoorWindow. I plan to allow a configurable mapping of loops which trigger the Door/Window for the specific sensor.
3) You can monitor sensors even when the system is armed.
This is useful for interior monitoring and automation that doesn't necessarily need to trip the alarm. Again, this is only for "wireless" sensors. As far as I can tell there's no real way to monitor "wired" devices that are wired directly into the alarm panel, while the panel is armed. Note I said directly attached. I plan on writing the same sort of thing for wired expanders unless someone else gets to it first.
Note that you have to configure the serial number of your device as sensorsn (it's a 7 digit serial number). I'm not sure if this is a 1:1 map of the actual device SN or not. Right now the RFX Sensor is spamming the user with notifications for sensors that it doesn't know about - so you should be able to trigger your wireless devices, and see the notifications, thus grabbing the serial number. When you're done, just comment out this line:
Program.Notify("RFXSensor: " + sensorSN, "Sensor unknown, state: " + sensorState);