2) Changed SensorMultilevel logic to accomodate different instance numbers for (zero-based if only 1 instance, one-based otherwise).
3) Changed fan mode logic to allow polling based on valueid (where getTypeEnum is 0).
4) Changed Driver::SendMsg to only "Set" the WakeEvent if the driver thread isn't waiting for an existing command to timeout. Otherwise, this cancels the timeout counter and, if the controller doesn't respond, the driver hangs waiting for timeout_infinite.
5) Changed Notifications.html to flag the fact that notifications (as currently implemented) are blocking. Therefore, for example, the dialog box in OZWForm caused the driver to stop communicating with the controller until the dialog box was closed and the handler function returned.
6) In light of 5) above, changed OZWForm to remove dialog boxes from notification handler. Instead, notifications now update a status strip at the bottom of the form.