| | |
| | | } |
| | | |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public Trait trait_brightness; |
| | | Trait trait_brightness; |
| | | /// <summary> |
| | | /// 亮度值 |
| | | /// </summary> |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 拼接、获取A协议操作数据 |
| | | /// </summary> |
| | | public override JObject GetSendJObject(CommandType_A command ) |
| | | { |
| | | var sendJob = new JObject(); |
| | | if (command == CommandType_A.write) |
| | | { |
| | | sendJob = new JObject { { "vendor_code", vendor_code }, { "command", command.ToString() }, { "type", "device" } }; |
| | | JObject data = new JObject { { "sid", sid } }; |
| | | sendJob.Add("objects", data); |
| | | List<ControlData> controlData = new List<ControlData>(); |
| | | switch (functionType) |
| | | { |
| | | case FunctionType.Relay: |
| | | controlData.Add(new ControlData() |
| | | { |
| | | name = "on_off", |
| | | data_type = "Bool", |
| | | value = trait_on_off.value.ToString() |
| | | }); |
| | | break; |
| | | case FunctionType.Dimmer: |
| | | controlData.Add(new ControlData() |
| | | { |
| | | name = "on_off", |
| | | data_type = "Bool", |
| | | value = trait_on_off.value.ToString() |
| | | }); |
| | | controlData.Add(new ControlData() |
| | | { |
| | | name = "brightness", |
| | | data_type = "int", |
| | | value = brightness.ToString(), |
| | | }); |
| | | break; |
| | | case FunctionType.RGB: |
| | | controlData.Add(new ControlData() |
| | | { |
| | | name = "on_off", |
| | | data_type = "Bool", |
| | | value = trait_on_off.value.ToString() |
| | | }); |
| | | controlData.Add(new ControlData() |
| | | { |
| | | name = "brightness", |
| | | data_type = "int", |
| | | value = brightness.ToString(), |
| | | }); |
| | | controlData.Add(new ControlData() |
| | | { |
| | | name = "color", |
| | | data_type = "int", |
| | | value = color.ToString(), |
| | | }); |
| | | break; |
| | | } |
| | | |
| | | AProtocolEntity ape = new AProtocolEntity() |
| | | { |
| | | command = command.ToString(), |
| | | vendor_code = vendor_code, |
| | | type = "device_sid", |
| | | }; |
| | | ape.ControlFunction(sid, controlData); |
| | | sendJob = JObject.FromObject(ape); |
| | | |
| | | } |
| | | else if (command == CommandType_A.read) |
| | | { |
| | | sendJob = new JObject { { "vendor_code", vendor_code }, { "command", command.ToString() }, { "type", "device" } }; |
| | | var data = new JObject {{ "sid", sid } }; |
| | | sendJob.Add("objects", data); |
| | | } |
| | | return sendJob; |
| | | } |
| | | } |
| | | |
| | | } |