| | |
| | | public class AC : Function |
| | | { |
| | | /* |
| | | * 空调:trait: [switch, mode, fan, set_temperature, swing, lock]
|
| | | * 空调:trait: [switch, mode, fan, set_temp, swing, lock]
|
| | | * 属性 描述
|
| | | * on_off on/off
|
| | | * mode mode: auto, cool, heat, dry, fan
|
| | | * fan high, medium, low, auto
|
| | | * set_temperature up,down,value
|
| | | * set_temp up,down,value
|
| | | * swing up/down/left/right
|
| | | * lock boolean (Lock锁定控制) |
| | | */ |
| | |
| | | min = 0, |
| | | }; |
| | | } |
| | | _trait_mode.curValue = _trait_mode.value.Count > 0 ? _trait_mode.value[0] : ""; |
| | | if (_trait_mode.curValue.ToString() == "{}") |
| | | _trait_mode.curValue = "cool"; |
| | | } |
| | | return _trait_mode; |
| | | } |
| | |
| | | value = new List<string> { "high", "medium", "low", "auto" }, |
| | | max = 3, |
| | | min = 0, |
| | | curValue = "high" |
| | | }; |
| | | } |
| | | _trait_fan.curValue = _trait_fan.value.Count > 0 ? _trait_fan.value[0] : ""; |
| | | if (_trait_fan.curValue.ToString() == "{}") |
| | | _trait_fan.curValue = "high"; |
| | | } |
| | | return _trait_fan; |
| | | } |
| | |
| | | { |
| | | if (_trait_temp == null) |
| | | { |
| | | _trait_temp = attributes.Find((obj) => obj.key == "set_temperature"); |
| | | _trait_temp = attributes.Find((obj) => obj.key == "set_temp"); |
| | | //找不到属性需要声明一个,防止报错闪退 |
| | | if (_trait_temp == null) |
| | | { |
| | | _trait_temp = new FunctionAttributes() |
| | | { |
| | | key = "set_temperature", |
| | | key = "set_temp", |
| | | value = new List<string> { }, |
| | | max = 32, |
| | | min = 16, |
| | | }; |
| | | } |
| | | _trait_temp.curValue = 16; |
| | | if (_trait_temp.curValue.ToString() == "{}") |
| | | _trait_temp.curValue = 16; |
| | | } |
| | | return _trait_temp; |
| | | } |
| | |
| | | min = 0, |
| | | }; |
| | | } |
| | | _trait_swting.curValue = _trait_swting.value.Count > 0 ? _trait_swting.value[trait_mode.min] : ""; |
| | | if (_trait_swting.curValue.ToString() == "{}") |
| | | _trait_swting.curValue = "up"; |
| | | } |
| | | return _trait_swting; |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | FunctionAttributes _trait_IndoorTemp; |
| | | /// <summary> |
| | | /// 室内温度 |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public int indoorTemp = 20; |
| | | public FunctionAttributes trait_IndoorTemp |
| | | { |
| | | get |
| | | { |
| | | if (_trait_IndoorTemp == null) |
| | | { |
| | | _trait_IndoorTemp = attributes.Find((obj) => obj.key == FunctionAttributeKey.IndoorTemp); |
| | | //找不到属性需要声明一个,防止报错闪退 |
| | | if (_trait_IndoorTemp == null) |
| | | { |
| | | _trait_IndoorTemp = new FunctionAttributes() |
| | | { |
| | | key = FunctionAttributeKey.IndoorTemp, |
| | | value = new List<string> { }, |
| | | max = 30, |
| | | min = 0, |
| | | }; |
| | | } |
| | | if (_trait_IndoorTemp.curValue.ToString() == "{}") |
| | | _trait_IndoorTemp.curValue = 0; |
| | | } |
| | | return _trait_IndoorTemp; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 当前模式的icon路径 |