public static Task <ICommuniqueType> GetDevices(this IWriteProcessor processor, CancellationToken token = default(CancellationToken))
        {
            var task = processor.Responses
                       .WaitFor((c) => c.Header?.MessageBodyType == ResponseMapper.RESPONSE_GET_DEVICES, token: token);

            processor.SendGetDevices();

            return(task);
        }
Пример #2
0
        public override void SendCommand(IWriteProcessor processor)
        {
            string deviceCommand = $@"{{
                ""CommuniqueType"": ""CreateRequest"",
                ""Header"": {{ ""Url"": ""/zone/{zoneId}/commandprocessor""}},
                ""Body"": {{
                ""Command"": {{
                    ""CommandType"": ""GoToLevel"",
                        ""Parameter"": [{{""Type"": ""Level"", ""Value"": {level}}}]}}}}}}" + "\n";

            deviceCommand = deviceCommand.Replace("\r\n", string.Empty);
            processor.WriteString(deviceCommand);
        }
Пример #3
0
        public override void SendCommand(IWriteProcessor processor)
        {
            string deviceCommand = "{\"CommuniqueType\":\"ReadRequest\",\"Header\":{\"Url\":\"/device\"}}\n";

            processor.WriteString(deviceCommand);
        }
Пример #4
0
 public abstract void SendCommand(IWriteProcessor processor);
        public static void TurnOffZone(this IWriteProcessor processor, IZoneInfo zone)
        {
            var command = new TurnOffZoneCommand(zone.Id);

            processor.ExecuteCommand(command);
        }
        public static void SetZoneLevel(this IWriteProcessor processor, IZoneInfo zone, int level)
        {
            var command = new SetZoneLevelCommand(zone.Id, level);

            processor.ExecuteCommand(command);
        }
        public static void SendGetZoneStatus(this IWriteProcessor processor, IZoneInfo zone)
        {
            var command = new GetZoneStatusCommand(zone.Id);

            processor.ExecuteCommand(command);
        }
        public static void SendGetScenes(this IWriteProcessor processor)
        {
            var command = new GetScenesCommand();

            processor.ExecuteCommand(command);
        }
        public static void SendPing(this IWriteProcessor processor)
        {
            var command = new PingCommand();

            processor.ExecuteCommand(command);
        }
Пример #10
0
        public override void SendCommand(IWriteProcessor processor)
        {
            string deviceCommand = $"{{\"CommuniqueType\":\"ReadRequest\",\"Header\":{{\"Url\":\"/zone/{zoneId}/status\"}}}}\n";

            processor.WriteString(deviceCommand);
        }