//Events ------------------------------------------------------- void myZone_ElkZoneEvent(object sender, ElkZoneEventArgs e) { switch (e.EventUpdateType) { case eElkZoneEventUpdateType.StatusChange: newStatusChange((ushort)myZone.GetZoneStatus); break; case eElkZoneEventUpdateType.TypeChange: newTypeChange((ushort)myZone.GetZoneType); break; case eElkZoneEventUpdateType.NameChange: newNameChange((SimplSharpString)myZone.GetZoneName); break; case eElkZoneEventUpdateType.DefinitionChange: newDefinitionChange((ushort)myZone.GetZoneDefinition); break; case eElkZoneEventUpdateType.VoltageChange: double v = myZone.GetZoneVoltage() * 10; newVoltageChange((ushort)v); break; case eElkZoneEventUpdateType.AreaAssignmentChange: newAreaAssignmentChange((ushort)myZone.GetZoneAreaAssignment); break; } }
private void ElkNotificationMessageHandler_ElkZoneEvent(object sender, ElkZoneEventArgs e) { if (!myElkNotificationManager.managerReady) { return; } ProcessZoneEvent(e); }
private void ProcessZoneEvent(ElkZoneEventArgs e) { if (e.EventUpdateType == eElkZoneEventUpdateType.StatusChange) { ElkZone currentZone = myPanel.GetZoneObject(e.Zone); int zoneNumber = currentZone.GetZoneNumber; eZoneStatus zoneStatus = currentZone.GetZoneStatus; if (!lastZoneStatuses.ContainsKey(zoneNumber)) { lastZoneStatuses.Add(zoneNumber, new LastZoneStatus(myPanel, this, currentZone, zoneStatus)); } else { if (!lastZoneStatuses[zoneNumber].TimerRuning) { //lastZoneStatuses[zoneNumber].Zone = currentZone; lastZoneStatuses[zoneNumber].CheckMessage(); } } } }