public void Update()
        {
            List <Vivo45Alarm> alarms;

            alarms = _Vivo45Messenger.GetActiveAlarms(AlarmType.FunctionFail);
            alarms.AddRange(_Vivo45Messenger.GetActiveAlarms(AlarmType.High).ToArray());
            alarms.AddRange(_Vivo45Messenger.GetActiveAlarms(AlarmType.Medium).ToArray());

            var newalarms = alarms.Except(ActiveAlarms, new Vivo45AlarmComparer()).ToList();

            foreach (Vivo45Alarm alarm in newalarms)
            {
                RaiseAlarmActivated(new AlarmActivatedEventArgs(new Alarm(alarm.Id, alarm.ExplanatoryText, (AlarmType)alarm.Type)));
            }

            var removedalarms = ActiveAlarms.Except(alarms, new Vivo45AlarmComparer()).ToList();

            foreach (Vivo45Alarm alarm in removedalarms)
            {
                RaiseAlarmDeactived(new AlarmDeactivatedEventArgs(new Alarm(alarm.Id, alarm.ExplanatoryText, (AlarmType)alarm.Type)));
            }

            ActiveAlarms = alarms;
        }