| | |
| | | /// 0:关 |
| | | /// 1:开 |
| | | /// </summary> |
| | | public int state = 0; |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public int on_off |
| | | { |
| | | get |
| | | { |
| | | try |
| | | { |
| | | string o = "0"; |
| | | dicPropert.TryGetValue("on_off", out o); |
| | | return Convert.ToInt32(o == "" ? "0" : o); |
| | | } |
| | | catch |
| | | { |
| | | MainPage.Log("on_off 数据获取失败."); |
| | | dicPropert.TryAdd("on_off", "0"); |
| | | return 0; |
| | | } |
| | | } |
| | | set |
| | | { |
| | | try |
| | | { |
| | | dicPropert["on_off"] = value.ToString(); |
| | | } |
| | | catch |
| | | { |
| | | MainPage.Log("on_off 数据刷新失败."); |
| | | dicPropert.TryAdd("on_off", value.ToString()); |
| | | } |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 亮度值 |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public int brightness |
| | | { |
| | | get |
| | | { |
| | | string b = "0"; |
| | | dicPropert.TryGetValue("brightness", out b); |
| | | return Convert.ToInt32(b == "" ? "0" : b); |
| | | } |
| | | set |
| | | { |
| | | try |
| | | { |
| | | dicPropert["brightness"] = value.ToString(); |
| | | } |
| | | catch |
| | | { |
| | | MainPage.Log("brightness 数据刷新失败."); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// RGB颜色 |
| | | /// 255255255 |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public string color |
| | | { |
| | | get |
| | | { |
| | | string c = "255255255"; |
| | | dicPropert.TryGetValue("color", out c); |
| | | if (c.Length != 9) |
| | | { |
| | | dicPropert["color"] = "255255255"; |
| | | } |
| | | return c.Length == 9 ? c : "255255255"; |
| | | } |
| | | set |
| | | { |
| | | try |
| | | { |
| | | dicPropert["color"] = value.ToString(); |
| | | } |
| | | catch |
| | | { |
| | | MainPage.Log("color 数据刷新失败."); |
| | | } |
| | | } |
| | | } |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public byte redColor |
| | | { |
| | | get { |
| | | try |
| | | { |
| | | return Convert.ToByte(color.Substring(0, 3)); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"Get red color error : {ex.Message}"); |
| | | return 0; |
| | | } |
| | | } |
| | | set |
| | | { |
| | | try |
| | | { |
| | | dicPropert["color"] = dicPropert["color"].ToString().Remove(0, 3).Insert(0, value.ToString().PadLeft(3, '0')); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"set red color error : {ex.Message}"); |
| | | } |
| | | } |
| | | } |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public byte greenColor |
| | | { |
| | | get |
| | | { |
| | | try |
| | | { |
| | | return Convert.ToByte(color.Substring(3, 3)); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"Get green color error : {ex.Message}"); |
| | | return 0; |
| | | } |
| | | } |
| | | set |
| | | { |
| | | try |
| | | { |
| | | dicPropert["color"] = dicPropert["color"].ToString().Remove(3, 3).Insert(3, value.ToString().PadLeft(3, '0')); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"set green color error : {ex.Message}"); |
| | | } |
| | | } |
| | | } |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public byte blueColor |
| | | { |
| | | get |
| | | { |
| | | try |
| | | { |
| | | return Convert.ToByte(color.Substring(6, 3)); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"Get blue color error : {ex.Message}"); |
| | | return 0; |
| | | } |
| | | } |
| | | set |
| | | { |
| | | try |
| | | { |
| | | dicPropert["color"] = dicPropert["color"].ToString().Remove(6, 3).Insert(6, value.ToString().PadLeft(3, '0')); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"set blue color error : {ex.Message}"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | |
| | | if (command == "write") |
| | | { |
| | | |
| | | sendJob = new JObject { { "Namespace", a_Protocol_Namespace }, { "Command", command }, { "Type", "device" } }; |
| | | sendJob = new JObject { { "vendor_code", a_Protocol_Namespace }, { "Command", command }, { "Type", "device" } }; |
| | | JObject data = null; |
| | | switch (functionType) |
| | | { |
| | | case "Relay"://继电器控制 |
| | | data = new JObject { { "switch", state }, { "sid", sid } }; |
| | | data = new JObject { { "sid", sid }, { "switch", on_off } }; |
| | | break; |
| | | case "Dimmer": |
| | | data = new JObject { { "switch", state }, { "brightness", dicPropert["brightness"] }, { "sid", sid } }; |
| | | data = new JObject { { "sid", sid }, { "brightness", brightness } }; |
| | | break; |
| | | case "RGB": |
| | | data = new JObject { { "sid", sid }, { "brightness", brightness }, { "color", color } }; |
| | | break; |
| | | } |
| | | sendJob.Add("objects", data); |
| | | } |
| | | else if(command == "read") |
| | | { |
| | | sendJob = new JObject { { "Namespace", a_Protocol_Namespace }, { "Command", command }, { "Type", "device" } }; |
| | | sendJob = new JObject { { "vendor_code", a_Protocol_Namespace }, { "Command", command }, { "Type", "device" } }; |
| | | var data = new JObject {{ "sid", sid } }; |
| | | sendJob.Add("objects", data); |
| | | } |