Exemplo n.º 1
0
        private ResponseText GetResponseValue(byte nodeNumber, string eventPath)
        {
            ResponseText returnValue = new ResponseText("ERR_TIMEOUT");
            InterfacePropertyChangedEventHandler eventHandler = new InterfacePropertyChangedEventHandler((sender, property) =>
            {
                if (property.EventData.Source == nodeNumber.ToString() && property.EventData.Property == eventPath)
                {
                    returnValue = new ResponseText(property.EventData.Value.ToString());
                }
            });

            InterfacePropertyChanged += eventHandler;
            Thread t = new Thread(() =>
            {
                int timeout = 0;
                int delay   = 100;
                while (returnValue.ResponseValue == "ERR_TIMEOUT" && timeout < ZWaveMessage.SendMessageTimeoutMs / delay)
                {
                    Thread.Sleep(delay);
                    timeout++;
                }
            });

            t.Start();
            t.Join(ZWaveMessage.SendMessageTimeoutMs);
            InterfacePropertyChanged -= eventHandler;
            return(returnValue);
        }
Exemplo n.º 2
0
 private ResponseText GetResponseValue(byte nodeNumber, string eventPath)
 {
     ResponseText returnValue = new ResponseText("ERR_TIMEOUT");
     InterfacePropertyChangedEventHandler eventHandler = new InterfacePropertyChangedEventHandler((sender, property) =>
     {
         if (property.EventData.Source == nodeNumber.ToString() && property.EventData.Property == eventPath)
         {
             returnValue = new ResponseText(property.EventData.Value.ToString());
         }
     });
     InterfacePropertyChanged += eventHandler;
     Thread t = new Thread(() =>
     {
         int timeout = 0;
         int delay = 100;
         while (returnValue.ResponseValue == "ERR_TIMEOUT" && timeout < ZWaveMessage.SendMessageTimeoutMs / delay)
         {
             Thread.Sleep(delay);
             timeout++;
         }
     });
     t.Start();
     t.Join(ZWaveMessage.SendMessageTimeoutMs);
     InterfacePropertyChanged -= eventHandler;
     return returnValue;
 }