Ejemplo n.º 1
0
        protected override void OnHandledInternal(DataReceivedUnit ou)
        {
            ou.SetNextActionItems();
            byte[] command          = ReceivedAchData.Command;
            var    scheme           = (SecuritySchemes)ReceivedAchData.SecurityScheme;
            bool   isSuportedScheme = IsSupportedScheme(_network, command, scheme);

            if (command != null && command.Length > 1 && isSuportedScheme)
            {
                if (command[1] == COMMAND_CLASS_BASIC.BASIC_GET.ID)
                {
                    ApiOperation sendData = null;
                    var          data     = new COMMAND_CLASS_BASIC.BASIC_REPORT()
                    {
                        value = Value
                    };
                    sendData = new SendDataExOperation(ReceivedAchData.DestNodeId, ReceivedAchData.SrcNodeId, data, TxOptions, TxSecOptions, scheme, TxOptions2);
                    ou.SetNextActionItems(sendData);
                }
                else if (command[1] == COMMAND_CLASS_BASIC.BASIC_SET.ID)
                {
                    var basicSetCommand = (COMMAND_CLASS_BASIC.BASIC_SET)command;
                    Value = basicSetCommand.value;
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>ZCB_UpdateStatusSuccess</summary>
        private ActionBase SendFwuMdStatusReport(byte nodeId, byte reportStatus, SecuritySchemes scheme)
        {
            var fwuMdRequestReport = new COMMAND_CLASS_FIRMWARE_UPDATE_MD_V5.FIRMWARE_UPDATE_MD_STATUS_REPORT()
            {
                status = reportStatus
            };
            var ret = new SendDataExOperation(nodeId, fwuMdRequestReport, TxOptions, scheme);

            return(ret);
        }
Ejemplo n.º 3
0
        protected override void CreateInstance()
        {
            _powerLevelGet        = new RFPowerLevelGetOperation();
            _powerLevelSet        = new RFPowerLevelSetOperation(0);
            _sendTest             = new SendTestFrameOperation(0, 0x06);
            _sendPowerLevelReport = new SendDataExOperation(0, null, TransmitOptions.TransmitOptionAcknowledge, SecuritySchemes.NONE);
            _sendPowerLevelReport.SubstituteSettings.SetFlag(SubstituteFlags.DenySupervision);
            _sendPowerLevelTestNodeReport = new SendDataExOperation(0, null, TransmitOptions.TransmitOptionAcknowledge, SecuritySchemes.NONE);
            _sendPowerLevelTestNodeReport.SubstituteSettings.SetFlag(SubstituteFlags.DenySupervision);

            base.CreateInstance();
        }
Ejemplo n.º 4
0
        /// <summary>handleCommandClassFWUpdate</summary>
        private ActionBase SendFwuMdReport(byte nodeId, SecuritySchemes scheme)
        {
            var fwuMdReport = new COMMAND_CLASS_FIRMWARE_UPDATE_MD_V5.FIRMWARE_MD_REPORT()
            {
                manufacturerId     = MANUFACTURE_ID,
                firmware0Id        = FIRMWARE_ID,
                firmwareUpgradable = 0xFF,
                maxFragmentSize    = Tools.GetBytes(MAX_FRAGMENT_SIZE).Skip(2).ToArray(),
            };
            var ret = new SendDataExOperation(nodeId, fwuMdReport, TxOptions, scheme);

            return(ret);
        }
Ejemplo n.º 5
0
        protected override void OnHandledInternal(DataReceivedUnit ou)
        {
            ou.SetNextActionItems();
            byte nodeId = ReceivedAchData.SrcNodeId;

            byte[] command          = ReceivedAchData.Command;
            var    scheme           = (SecuritySchemes)ReceivedAchData.SecurityScheme;
            bool   isSuportedScheme = IsSupportedScheme(_network, command, scheme);

            if (isSuportedScheme && command != null && command.Length > 1)
            {
                if (command[1] == COMMAND_CLASS_WAKE_UP_V2.WAKE_UP_INTERVAL_CAPABILITIES_GET.ID)
                {
                    var cmd = (COMMAND_CLASS_WAKE_UP_V2.WAKE_UP_INTERVAL_CAPABILITIES_GET)command;
                    var rpt = new COMMAND_CLASS_WAKE_UP_V2.WAKE_UP_INTERVAL_CAPABILITIES_REPORT()
                    {
                        minimumWakeUpIntervalSeconds = new byte[] { 0x00, 0x00, 0x3C },
                        maximumWakeUpIntervalSeconds = new byte[] { 0x01, 0x51, 0x80 },
                        defaultWakeUpIntervalSeconds = new byte[] { 0x00, 0x01, 0x2C },
                        wakeUpIntervalStepSeconds    = new byte[] { 0x00, 0x00, 0x3C }
                    };
                    var sendData = new SendDataExOperation(nodeId, rpt, TxOptions, scheme);
                    ou.SetNextActionItems(sendData);
                }
                else if (command[1] == COMMAND_CLASS_WAKE_UP_V2.WAKE_UP_INTERVAL_GET.ID)
                {
                    var cmd = (COMMAND_CLASS_WAKE_UP_V2.WAKE_UP_INTERVAL_GET)command;
                    var rpt = new COMMAND_CLASS_WAKE_UP_V2.WAKE_UP_INTERVAL_REPORT()
                    {
                        seconds = _wakeupDelay
                    };
                    var sendData = new SendDataExOperation(nodeId, rpt, TxOptions, scheme);
                    ou.SetNextActionItems(sendData);
                }
                else if (command[1] == COMMAND_CLASS_WAKE_UP_V2.WAKE_UP_INTERVAL_SET.ID)
                {
                    var cmd = (COMMAND_CLASS_WAKE_UP_V2.WAKE_UP_INTERVAL_SET)command;
                    _wakeupDelay = cmd.seconds;
                }
                else if (command[1] == COMMAND_CLASS_WAKE_UP_V2.WAKE_UP_NO_MORE_INFORMATION.ID)
                {
                    _disableRFReceiveOperation.NewToken();
                    ou.SetNextActionItems(_disableRFReceiveOperation);
                }
            }
        }
Ejemplo n.º 6
0
        /// <summary>CmdClassFirmwareUpdateMdGet</summary>
        private ActionBase SendFwuMdGet(byte nodeId, ushort fwuReportNumber, SecuritySchemes scheme)
        {
            _lastUsedReportNumber = fwuReportNumber;
            var reportNumber = Tools.GetBytes(fwuReportNumber);
            var fwuMdGet     = new COMMAND_CLASS_FIRMWARE_UPDATE_MD_V5.FIRMWARE_UPDATE_MD_GET()
            {
                numberOfReports = 0x01,
                reportNumber2   = reportNumber[1],
                properties1     = new COMMAND_CLASS_FIRMWARE_UPDATE_MD_V5.FIRMWARE_UPDATE_MD_GET.Tproperties1()
                {
                    reportNumber1 = reportNumber[0]
                }
            };
            var ret = new SendDataExOperation(nodeId, fwuMdGet, TxOptions, scheme);

            return(ret);
        }
Ejemplo n.º 7
0
        protected override void OnHandledInternal(DataReceivedUnit ou)
        {
            ou.SetNextActionItems();
            byte nodeId = ReceivedAchData.SrcNodeId;

            byte[] command          = ReceivedAchData.Command;
            var    scheme           = (SecuritySchemes)ReceivedAchData.SecurityScheme;
            bool   isSuportedScheme = IsSupportedScheme(_network, command, scheme);

            if (command != null && command.Length > 1 && isSuportedScheme)
            {
                if (command[1] == COMMAND_CLASS_VERSION.VERSION_GET.ID)
                {
                    ApiOperation sendData = null;
                    var          data     = new COMMAND_CLASS_VERSION.VERSION_REPORT();
                    sendData = new SendDataExOperation(nodeId, data, TxOptions, TxSecOptions, scheme, TxOptions2);
                    ou.SetNextActionItems(sendData);
                }
            }
        }
Ejemplo n.º 8
0
        //TODO:
        //MULTI_CHANNEL_END_POINT_FIND
        //MULTI_INSTANCE_CMD_ENCAP
        //MULTI_INSTANCE_GET
        protected override void OnHandledInternal(DataReceivedUnit ou)
        {
            ou.SetNextActionItems();
            byte nodeId = ReceivedAchData.SrcNodeId;

            byte[] command          = ReceivedAchData.Command;
            var    scheme           = (SecuritySchemes)ReceivedAchData.SecurityScheme;
            bool   isSuportedScheme = IsSupportedScheme(_network, command, scheme);

            if (command != null && command.Length > 1 && isSuportedScheme)
            {
                if (command[1] == COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_END_POINT_GET.ID)
                {
                    var cmd = (COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_END_POINT_GET)command;
                    var rpt = new COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_END_POINT_REPORT()
                    {
                        properties1 = new COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_END_POINT_REPORT.Tproperties1()
                        {
                            res1      = 0x00,
                            identical = 0x01,
                            dynamic   = 0x00,
                        },
                        properties2 = new COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_END_POINT_REPORT.Tproperties2()
                        {
                            individualEndPoints = END_POINTS_COUNT,
                            res2 = 0x00
                        },
                        properties3 = new COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_END_POINT_REPORT.Tproperties3()
                        {
                        }
                    };
                    var sendData = new SendDataExOperation(nodeId, rpt, TxOptions, scheme);
                    ou.SetNextActionItems(sendData);
                }
                else if (command[1] == COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_CAPABILITY_GET.ID)
                {
                    var cmd = (COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_CAPABILITY_GET)command;
                    if (cmd.properties1.endPoint > 0 &&
                        cmd.properties1.endPoint <= END_POINTS_COUNT)
                    {
                        var rpt = new COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_CAPABILITY_REPORT()
                        {
                            genericDeviceClass  = GENERIC_DEVICE_CLASS,
                            specificDeviceClass = SPECIFIC_DEVICE_CLASS,
                            properties1         =
                            {
                                dynamic  = 0,
                                endPoint = cmd.properties1.endPoint
                            },
                            commandClass = GetCapability(cmd.properties1.endPoint)
                        };
                        var sendData = new SendDataExOperation(nodeId, rpt, TxOptions, scheme);
                        ou.SetNextActionItems(sendData);
                    }
                }
                else if (command[1] == COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_AGGREGATED_MEMBERS_GET.ID)
                {
                    var cmd = (COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_AGGREGATED_MEMBERS_GET)command;
                    if (cmd.properties1.aggregatedEndPoint > 0 &&
                        cmd.properties1.aggregatedEndPoint <= END_POINTS_COUNT)
                    {
                        var rpt = new COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_AGGREGATED_MEMBERS_REPORT()
                        {
                            properties1 =
                            {
                                aggregatedEndPoint = cmd.properties1.aggregatedEndPoint,
                                res                = 0
                            },
                            numberOfBitMasks = 0x01
                        };
                        rpt.aggregatedMembersBitMask.Add(0x03);
                        var sendData = new SendDataExOperation(nodeId, rpt, TxOptions, scheme);
                        ou.SetNextActionItems(sendData);
                    }
                }
                else if (command[1] == COMMAND_CLASS_MULTI_CHANNEL_V4.MULTI_CHANNEL_CMD_ENCAP.ID)
                {
                    var data = UnboxAndGetResponce(command);
                    if (data != null && data.Length > 0)
                    {
                        var sendData = new SendDataExOperation(nodeId, data, TxOptions, scheme);
                        ou.SetNextActionItems(sendData);
                    }
                }
            }
        }
Ejemplo n.º 9
0
        protected override void OnHandledInternal(DataReceivedUnit ou)
        {
            ou.SetNextActionItems();
            byte nodeId = ReceivedAchData.SrcNodeId;

            byte[] command          = ReceivedAchData.Command;
            var    scheme           = (SecuritySchemes)ReceivedAchData.SecurityScheme;
            bool   isSuportedScheme = IsSupportedScheme(_network, command, scheme);

            if (command != null && command.Length > 1 && isSuportedScheme)
            {
                if (command[1] == COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_GET.ID)
                {
                    var associationGetCmd = (COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_GET)command;
                    var requestedGroupId  = associationGetCmd.groupingIdentifier;
                    if (requestedGroupId == GroupId)
                    {
                        ApiOperation sendData = null;
                        var          data     = new COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_REPORT()
                        {
                            groupingIdentifier = GroupId,
                            nodeid             = AssociatedNodeIds,
                            maxNodesSupported  = MaxNodesSupported
                        };
                        sendData = new SendDataExOperation(nodeId, data, TxOptions, TxSecOptions, scheme, TxOptions2);
                        ou.SetNextActionItems(sendData);
                    }
                    else if (requestedGroupId != 0x00)
                    {
                        ApiOperation sendData = null;
                        var          data     = new COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_REPORT()
                        {
                            groupingIdentifier = requestedGroupId,
                            nodeid             = AssociatedNodeIds,
                            maxNodesSupported  = MaxNodesSupported
                        };
                        sendData = new SendDataExOperation(nodeId, data, TxOptions, TxSecOptions, scheme, TxOptions2);
                        ou.SetNextActionItems(sendData);
                    }
                }
                else if (command[1] == COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_SET.ID)
                {
                    var associationSetCmd = (COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_SET)command;
                    var requestedGroupId  = associationSetCmd.groupingIdentifier;
                    if (requestedGroupId == GroupId)
                    {
                        foreach (var associateNodeId in associationSetCmd.nodeId)
                        {
                            if (!AssociatedNodeIds.Contains(associateNodeId))
                            {
                                AssociatedNodeIds.Add(associateNodeId);
                            }
                        }
                    }
                    else if (requestedGroupId != 0x00)
                    {
                        foreach (var associateNodeId in associationSetCmd.nodeId)
                        {
                            if (!AssociatedNodeIds.Contains(associateNodeId))
                            {
                                AssociatedNodeIds.Add(associateNodeId);
                            }
                        }
                    }
                }
                else if (command[1] == COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_REMOVE.ID)
                {
                    var associationRemoveCmd = (COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_REMOVE)command;
                    var requestedGroupId     = associationRemoveCmd.groupingIdentifier;
                    if (requestedGroupId == GroupId)
                    {
                        foreach (var associateNodeId in associationRemoveCmd.nodeId)
                        {
                            if (AssociatedNodeIds.Contains(associateNodeId))
                            {
                                AssociatedNodeIds.Remove(associateNodeId);
                            }
                        }
                    }
                    else if (requestedGroupId != 0x00)
                    {
                        foreach (var associateNodeId in associationRemoveCmd.nodeId)
                        {
                            if (AssociatedNodeIds.Contains(associateNodeId))
                            {
                                AssociatedNodeIds.Remove(associateNodeId);
                            }
                        }
                    }
                }
                else if (command[1] == COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_GROUPINGS_GET.ID)
                {
                    ApiOperation sendData = null;
                    var          data     = new COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_GROUPINGS_REPORT()
                    {
                        supportedGroupings = 0x01
                    };
                    sendData = new SendDataExOperation(nodeId, data, TxOptions, TxSecOptions, scheme, TxOptions2);
                    ou.SetNextActionItems(sendData);
                }
                else if (command[1] == COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_SPECIFIC_GROUP_GET.ID)
                {
                    ApiOperation sendData = null;
                    var          data     = new COMMAND_CLASS_ASSOCIATION_V2.ASSOCIATION_SPECIFIC_GROUP_REPORT()
                    {
                        group = 0
                    };
                    sendData = new SendDataExOperation(nodeId, data, TxOptions, TxSecOptions, scheme, TxOptions2);
                    ou.SetNextActionItems(sendData);
                }
            }
        }
Ejemplo n.º 10
0
        protected override void OnHandledInternal(DataReceivedUnit ou)
        {
            ou.SetNextActionItems();
            byte nodeId = ReceivedAchData.SrcNodeId;

            byte[] command          = ReceivedAchData.Command;
            var    scheme           = (SecuritySchemes)ReceivedAchData.SecurityScheme;
            bool   isSuportedScheme = IsSupportedScheme(_network, command, scheme);

            if (command != null && command.Length > 1 && isSuportedScheme)
            {
                if (command[1] == COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V3.MULTI_CHANNEL_ASSOCIATION_GET.ID)
                {
                    var cmd = (COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V3.MULTI_CHANNEL_ASSOCIATION_GET)command;
                    if (cmd.groupingIdentifier == _groupId)
                    {
                        var rpt = new COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V3.MULTI_CHANNEL_ASSOCIATION_REPORT()
                        {
                            groupingIdentifier = _groupId,
                            nodeId             = _associatedNodeIds,
                            maxNodesSupported  = _maxNodesSupported
                        };
                        var sendData = new SendDataExOperation(nodeId, rpt, TxOptions, scheme);
                        ou.SetNextActionItems(sendData);
                    }
                }
                else if (command[1] == COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V3.MULTI_CHANNEL_ASSOCIATION_GROUPINGS_GET.ID)
                {
                    var cmd = (COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V3.MULTI_CHANNEL_ASSOCIATION_GROUPINGS_GET)command;
                    {
                        var rpt = new COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V3.MULTI_CHANNEL_ASSOCIATION_GROUPINGS_REPORT()
                        {
                            supportedGroupings = 0x01
                        };
                        var sendData = new SendDataExOperation(nodeId, rpt, TxOptions, scheme);
                        ou.SetNextActionItems(sendData);
                    }
                }
                else if (command[1] == COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V3.MULTI_CHANNEL_ASSOCIATION_REMOVE.ID)
                {
                    var cmd = (COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V3.MULTI_CHANNEL_ASSOCIATION_REMOVE)command;
                    if (cmd.groupingIdentifier == _groupId)
                    {
                        foreach (var associateNodeId in cmd.nodeId)
                        {
                            if (!_associatedNodeIds.Contains(associateNodeId))
                            {
                                _associatedNodeIds.Remove(associateNodeId);
                            }
                        }
                    }
                }
                else if (command[1] == COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V3.MULTI_CHANNEL_ASSOCIATION_SET.ID)
                {
                    var cmd = (COMMAND_CLASS_MULTI_CHANNEL_ASSOCIATION_V3.MULTI_CHANNEL_ASSOCIATION_SET)command;
                    if (cmd.groupingIdentifier == _groupId)
                    {
                        foreach (var associateNodeId in cmd.nodeId)
                        {
                            if (!_associatedNodeIds.Contains(associateNodeId))
                            {
                                _associatedNodeIds.Add(associateNodeId);
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 11
0
        protected override void OnHandledInternal(DataReceivedUnit ou)
        {
            ou.SetNextActionItems();
            byte nodeId = ReceivedAchData.SrcNodeId;

            byte[] command          = ReceivedAchData.Command;
            var    scheme           = (SecuritySchemes)ReceivedAchData.SecurityScheme;
            bool   isSuportedScheme = IsSupportedScheme(_network, command, scheme);

            if (command != null && command.Length > 1 && isSuportedScheme)
            {
                if (command[1] == COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_NAME_GET.ID)
                {
                    var associationNameGetCmd = (COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_NAME_GET)command;
                    var requestedGroupId      = associationNameGetCmd.groupingIdentifier;
                    if (requestedGroupId == GroupId)
                    {
                        ApiOperation sendData = null;
                        var          data     = new COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_NAME_REPORT()
                        {
                            groupingIdentifier = GroupId,
                            lengthOfName       = (byte)Encoding.UTF8.GetByteCount(GroupName),
                            name = Encoding.UTF8.GetBytes(GroupName)
                        };
                        sendData = new SendDataExOperation(nodeId, data, TxOptions, TxSecOptions, scheme, TxOptions2);
                        ou.SetNextActionItems(sendData);
                    }
                }
                else if (command[1] == COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_INFO_GET.ID)
                {
                    var          associationInfoGetCmd = (COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_INFO_GET)command;
                    var          requestedGroupId      = associationInfoGetCmd.groupingIdentifier;
                    ApiOperation sendData = null;
                    var          data     = new COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_INFO_REPORT()
                    {
                        properties1 = new COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_INFO_REPORT.Tproperties1()
                        {
                            listMode   = associationInfoGetCmd.properties1.listMode,
                            groupCount = 0x01
                        },
                        vg1 = new List <COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_INFO_REPORT.TVG1>()
                        {
                            new COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_INFO_REPORT.TVG1()
                            {
                                groupingIdentifier = GroupId,
                                mode     = 0,
                                profile1 = 0,
                                profile2 = 1
                            }
                        }
                    };
                    sendData = new SendDataExOperation(nodeId, data, TxOptions, TxSecOptions, scheme, TxOptions2);
                    ou.SetNextActionItems(sendData);
                }
                else if (command[1] == COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_COMMAND_LIST_GET.ID)
                {
                    var          associationCommandListGetCmd = (COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_COMMAND_LIST_GET)command;
                    var          requestedGroupId             = associationCommandListGetCmd.groupingIdentifier;
                    ApiOperation sendData = null;
                    var          data     = new COMMAND_CLASS_ASSOCIATION_GRP_INFO_V3.ASSOCIATION_GROUP_COMMAND_LIST_REPORT()
                    {
                        groupingIdentifier = GroupId,
                        listLength         = 0x02,
                        command            = new List <byte>()
                        {
                            COMMAND_CLASS_BASIC.ID,
                            COMMAND_CLASS_BASIC.BASIC_GET.ID,
                        }
                    };
                    sendData = new SendDataExOperation(nodeId, data, TxOptions, TxSecOptions, scheme, TxOptions2);
                    ou.SetNextActionItems(sendData);
                }
            }
        }