diff --git a/src/context/service/database/Constraint.py b/src/context/service/database/Constraint.py
index 2ca49338a6ac0ba2d57ec57dffa26555b9fa6507..79970eacde5f6a08a22287cc72f1d75a954f969c 100644
--- a/src/context/service/database/Constraint.py
+++ b/src/context/service/database/Constraint.py
@@ -122,7 +122,7 @@ def upsert_constraints(
         stmt = delete(klass)
         if service_uuid is not None: stmt = stmt.where(klass.service_uuid == service_uuid)
         if slice_uuid   is not None: stmt = stmt.where(klass.slice_uuid   == slice_uuid  )
-        stmt = stmt.where(klass.constraint_uuid.in_(uuids_to_delete)
+        stmt = stmt.where(klass.constraint_uuid.in_(uuids_to_delete))
         #str_stmt = stmt.compile(dialect=postgresql.dialect(), compile_kwargs={"literal_binds": True})
         #LOGGER.warning('delete stmt={:s}'.format(str(str_stmt)))
         constraint_deletes = session.execute(stmt)
diff --git a/src/device/requirements.in b/src/device/requirements.in
index 825ef8e21e6c904497e1be7f701f2a6cd53e6b38..c81e814603d4c84e0211e3b433fc916b616ecd04 100644
--- a/src/device/requirements.in
+++ b/src/device/requirements.in
@@ -14,7 +14,7 @@
 
 
 anytree==2.8.0
-APScheduler==3.8.1
+APScheduler==3.10.1
 cryptography==36.0.2
 #fastcache==1.1.0
 Jinja2==3.0.3
@@ -22,7 +22,7 @@ ncclient==0.6.13
 p4runtime==1.3.0
 paramiko==2.9.2
 python-json-logger==2.0.2
-pytz==2021.3
+#pytz==2021.3
 #redis==4.1.2
 requests==2.27.1
 requests-mock==1.9.3
diff --git a/src/load_generator/requirements.in b/src/load_generator/requirements.in
index 03a61d7a3fa8fa880d8877a33025401b95da9e25..44bd0ef1a321e9d08e253f01caca2d204d61fd6c 100644
--- a/src/load_generator/requirements.in
+++ b/src/load_generator/requirements.in
@@ -12,4 +12,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-APScheduler==3.8.1
+APScheduler==3.10.1
diff --git a/src/monitoring/requirements.in b/src/monitoring/requirements.in
index 981b4cdf291b6234d53de185ad83a1df2d1148a4..4e57dd0193485b3f7ed3ea346534fb1cb43c5538 100644
--- a/src/monitoring/requirements.in
+++ b/src/monitoring/requirements.in
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 anytree==2.8.0
-APScheduler==3.8.1
+APScheduler==3.10.1
 #fastcache==1.1.0
 #google-api-core
 #opencensus[stackdriver]
@@ -26,7 +26,7 @@ APScheduler==3.8.1
 influx-line-protocol==0.1.4
 python-dateutil==2.8.2
 python-json-logger==2.0.2
-pytz==2021.3
+#pytz==2021.3
 #redis==4.1.2
 requests==2.27.1
 xmltodict==0.12.0
diff --git a/src/monitoring/service/EventTools.py b/src/monitoring/service/EventTools.py
index be3fe9b92c4867b66c562b8f0f0b35148e249cac..a840cde455fd37599bc02e8802c9cf41b4515428 100644
--- a/src/monitoring/service/EventTools.py
+++ b/src/monitoring/service/EventTools.py
@@ -121,9 +121,12 @@ class EventsDeviceCollector:
                         enabled_endpoint_names.add(json_resource_value['name'])
 
                     for endpoint in device.device_endpoints:
-                        if endpoint.name not in enabled_endpoint_names: continue
-
                         endpoint_uuid = endpoint.endpoint_id.endpoint_uuid.uuid
+                        endpoint_name_or_uuid = endpoint.name
+                        if endpoint_name_or_uuid is None or len(endpoint_name_or_uuid) == 0:
+                            endpoint_name_or_uuid = endpoint_uuid
+                        if endpoint_name_or_uuid not in enabled_endpoint_names: continue
+
                         self._name_mapping.set_endpoint_name(endpoint_uuid, endpoint.name)
 
                         for value in endpoint.kpi_sample_types:
diff --git a/src/monitoring/tests/test_unitary.py b/src/monitoring/tests/test_unitary.py
index 4e84431a5438e1536c92ca644bd5005deba545a4..ff19e231e1e6dfee78d5bc1ae71f170990d11609 100644
--- a/src/monitoring/tests/test_unitary.py
+++ b/src/monitoring/tests/test_unitary.py
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 import copy, os, pytest #, threading, time
-import logging
+import logging, json
 #from queue import Queue
 from random import random
 from time import sleep
@@ -25,12 +25,13 @@ from grpc._channel import _MultiThreadedRendezvous
 from common.Constants import ServiceNameEnum
 from common.Settings import (
     ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, get_env_var_name, get_service_port_grpc)
-from common.proto.context_pb2 import DeviceOperationalStatusEnum, EventTypeEnum, DeviceEvent, Device, Empty
+from common.proto.context_pb2 import ConfigActionEnum, DeviceOperationalStatusEnum, EventTypeEnum, DeviceEvent, Device, Empty
 from common.proto.context_pb2_grpc import add_ContextServiceServicer_to_server
 from common.proto.kpi_sample_types_pb2 import KpiSampleType
 from common.proto.monitoring_pb2 import KpiId, KpiDescriptor, SubsDescriptor, SubsList, AlarmID, \
     AlarmDescriptor, AlarmList, KpiDescriptorList, SubsResponse, AlarmResponse, RawKpiTable #, Kpi, KpiList
 from common.tests.MockServicerImpl_Context import MockServicerImpl_Context
+from common.tools.object_factory.ConfigRule import json_config_rule_set
 from common.tools.service.GenericGrpcService import GenericGrpcService
 from common.tools.timestamp.Converters import timestamp_utcnow_to_float #, timestamp_string_to_float
 from context.client.ContextClient import ContextClient
@@ -48,7 +49,7 @@ from monitoring.service.NameMapping import NameMapping
 #from monitoring.service.SubscriptionManager import SubscriptionManager
 from monitoring.tests.Messages import create_kpi_request, create_kpi_request_d, include_kpi_request, monitor_kpi_request, \
     create_kpi_request_c, kpi_query, subs_descriptor, alarm_descriptor, alarm_subscription #, create_kpi_request_b
-from monitoring.tests.Objects import DEVICE_DEV1, DEVICE_DEV1_CONNECT_RULES, DEVICE_DEV1_UUID
+from monitoring.tests.Objects import DEVICE_DEV1, DEVICE_DEV1_CONNECT_RULES, DEVICE_DEV1_UUID, ENDPOINT_END1_UUID
 
 os.environ['DEVICE_EMULATED_ONLY'] = 'TRUE'
 from device.service.drivers import DRIVERS  # pylint: disable=wrong-import-position,ungrouped-imports
@@ -605,11 +606,14 @@ def test_listen_events(
     assert response.device_uuid.uuid == DEVICE_DEV1_UUID
 
     LOGGER.info('Activating Device {:s}'.format(DEVICE_DEV1_UUID))
-
     device = context_client.GetDevice(response)
     device_with_op_state = Device()
     device_with_op_state.CopyFrom(device)
     device_with_op_state.device_operational_status = DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_ENABLED
+    config_rule = device_with_op_state.device_config.config_rules.add()
+    config_rule.action = ConfigActionEnum.CONFIGACTION_SET
+    config_rule.custom.resource_key = '/interface[{:s}]'.format(ENDPOINT_END1_UUID)
+    config_rule.custom.resource_value = json.dumps({'name': ENDPOINT_END1_UUID, 'enabled': True})
     response = context_client.SetDevice(device_with_op_state)
     assert response.device_uuid.uuid == DEVICE_DEV1_UUID