ZWave.ZWaveController.GetNodeID C# (CSharp) Method

GetNodeID() public method

public GetNodeID ( ) : Task
return Task
        public async Task<byte> GetNodeID()
        {
            if (_nodeID == null)
            {
                var response = await Channel.Send(Function.MemoryGetId);
                _nodeID = response[4];
            }
            return _nodeID.Value;
        }

Usage Example

Beispiel #1
0
        public async Task <VersionCommandClassReport[]> GetSupportedCommandClasses()
        {
            // is this node the controller?
            if (await Controller.GetNodeID() == NodeID)
            {
                // yes, so return an empty collection. GetSupportedCommandClasses is not supported by the controller
                return(new VersionCommandClassReport[0]);
            }

            var version = GetCommandClass <CommandClasses.Version>();
            var commandClassVersions = new Dictionary <CommandClass, VersionCommandClassReport>();

            foreach (var commandClass in System.Enum.GetValues(typeof(CommandClass)).Cast <CommandClass>())
            {
                var report = await version.GetCommandClass(commandClass);

                commandClassVersions[commandClass] = report;
            }

            _commandClassVersions = commandClassVersions;
            lock (_commandClassVersions)
            {
                return(_commandClassVersions.Values.Where(r => r.Version > 0).ToArray());
            }
        }
All Usage Examples Of ZWave.ZWaveController::GetNodeID