public NodeEvent GetEvent(ZWaveNode node, byte [] message) { if (message.Length == 0) { return(null); } byte cmdType = message [1]; if (cmdType == (byte)Command.ScheduleReport) { var climateControlScheduleValue = ClimateControlScheduleValue.Parse(message); return(new NodeEvent(node, EventParameter.ClimateControlSchedule, climateControlScheduleValue, 0)); } if (cmdType == (byte)Command.ScheduleChangedReport) { return(new NodeEvent(node, EventParameter.ClimateControlScheduleChanged, message[2], 0)); } if (cmdType == (byte)Command.ScheduleOverrideReport) { var climateControlScheduleOverrideValue = ClimateControlScheduleOverrideValue.Parse(message); return(new NodeEvent(node, EventParameter.ClimateControlScheduleOverride, climateControlScheduleOverrideValue, 0)); } return(null); }
public static ClimateControlScheduleOverrideValue Parse(byte [] bytes) { var result = new ClimateControlScheduleOverrideValue(); result.OverrideType = (OverrideType)bytes [2]; result.ScheduleState = ScheduleStateValue.Parse(bytes [3]); return(result); }
public static ZWaveMessage OverrideSet(ZWaveNode node, ClimateControlScheduleOverrideValue scheduleOverride) { var message = new List <byte> (); message.AddRange(new byte [] { (byte)CommandClass.ClimateControlSchedule, (byte)Command.ScheduleOverrideSet, }); message.AddRange(scheduleOverride.GetValueBytes()); return(node.SendDataRequest(message.ToArray())); }