示例#1
0
 private void SetNodeLevel(ZWaveNode node, int level)
 {
     node.UpdateData("Level", level);
     if (level > 0)
     {
         node.UpdateData("LastLevel", level);
     }
 }
示例#2
0
        public NodeEvent GetEvent(ZWaveNode node, byte[] message)
        {
            //Set up the color values array
            var colordata = node.GetData("ColorValues");
            if (colordata == null) { colordata = new NodeData("ColorValues", new List<ColorValue>()); }
            var colorvals = colordata.Value as List<ColorValue>;
            NodeEvent nodeEvent = null;
            byte cmdType = message[1];
            if (cmdType == (byte)Command.SwitchColorCapabilityReport)
            {
                for (int i = 2; i < 4; i++)
                {
                    for (int j = 0; j < 8; j++)
                    {
                        if ((message[i] & 0x1 << j) > 0)
                        {
                            var colnum = (ZWaveSwitchColorNumber)(8*i+j);
                            var exist = (from val in colorvals
                                         where val.ColorNumber == colnum
                                         select val).FirstOrDefault();
                            if (exist == null) { colorvals.Add(new ColorValue { ColorNumber = colnum, Value = 0 }); }
                            Get(node, 8 * i + j);
                        }
                    }
                }
            }
            else if (cmdType == (byte)Command.SwitchColorReport)
            {

            }
            node.UpdateData("ColorValues", colorvals);
            return nodeEvent;
        }
示例#3
0
        public NodeEvent GetEvent(ZWaveNode node, byte[] message)
        {
            //Set up the color values array
            var colordata = node.GetData("ColorValues");

            if (colordata == null)
            {
                colordata = new NodeData("ColorValues", new List <ColorValue>());
            }
            var       colorvals = colordata.Value as List <ColorValue>;
            NodeEvent nodeEvent = null;
            byte      cmdType   = message[1];

            if (cmdType == (byte)Command.SwitchColorCapabilityReport)
            {
                for (int i = 2; i < 4; i++)
                {
                    for (int j = 0; j < 8; j++)
                    {
                        if ((message[i] & 0x1 << j) > 0)
                        {
                            var colnum = (ZWaveSwitchColorNumber)(8 * i + j);
                            var exist  = (from val in colorvals
                                          where val.ColorNumber == colnum
                                          select val).FirstOrDefault();
                            if (exist == null)
                            {
                                colorvals.Add(new ColorValue {
                                    ColorNumber = colnum, Value = 0
                                });
                            }
                            Get(node, 8 * i + j);
                        }
                    }
                }
            }
            else if (cmdType == (byte)Command.SwitchColorReport)
            {
            }
            node.UpdateData("ColorValues", colorvals);
            return(nodeEvent);
        }