| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.Entity |
| | | { |
| | | public class FloorHeating : Function |
| | | public class FloorHeating |
| | | { |
| | | public FloorHeating() |
| | | /// <summary> |
| | | /// 获取温度单位bus标识 |
| | | /// </summary> |
| | | /// <param name="function"></param> |
| | | /// <returns></returns> |
| | | public int GetTempUintIndex(Function function) |
| | | { |
| | | var tt = function.GetAttrState(FunctionAttributeKey.TempType); |
| | | if (tt == "°F") |
| | | { |
| | | return 1; |
| | | } |
| | | else |
| | | { |
| | | return 0; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 根据bus标识设置温度单位 |
| | | /// </summary> |
| | | /// <param name="function"></param> |
| | | /// <returns></returns> |
| | | public void SetTempUint(Function function, int index) |
| | | { |
| | | if (index == 0) |
| | | { |
| | | function.SetAttrState(FunctionAttributeKey.TempType, "°C"); |
| | | } |
| | | else |
| | | { |
| | | function.SetAttrState(FunctionAttributeKey.TempType, "°F"); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取bus协议工作模式index |
| | | /// 0:地热模式;1:地冷模式; |
| | | /// 2:地热功率模式;3:地冷功率模式; |
| | | /// </summary> |
| | | public int GetWorkModeIndex(Function function) |
| | | { |
| | | var attr = function.GetAttrState(FunctionAttributeKey.WorkMode); |
| | | if (attr == "cool") |
| | | return 1; |
| | | return 0; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置bus协议工作模式index |
| | | /// 0:地热模式;1:地冷模式; |
| | | /// 2:地热功率模式;3:地冷功率模式; |
| | | /// </summary> |
| | | public void SetWorkModeIndex(Function function, int index) |
| | | { |
| | | if (index == 1) |
| | | function.SetAttrState(FunctionAttributeKey.WorkMode, "cool"); |
| | | else |
| | | function.SetAttrState(FunctionAttributeKey.WorkMode, "heat"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取温度模式字符 |
| | | /// </summary> |
| | | public string GetTempUnitString(Function function) |
| | | { |
| | | var tt = function.GetAttrState(FunctionAttributeKey.TempType); |
| | | if (tt == "0") |
| | | { |
| | | return "°C"; |
| | | } |
| | | else |
| | | { |
| | | return tt; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 获取bus协议模式索引 |
| | | /// </summary> |
| | | public byte GetModeIndex(Function function) |
| | | { |
| | | byte index = 0; |
| | | var mode = function.GetAttrState(FunctionAttributeKey.Mode); |
| | | switch (mode) |
| | | { |
| | | case "day": |
| | | index = 2; |
| | | break; |
| | | case "night": |
| | | index = 3; |
| | | break; |
| | | case "away": |
| | | index = 4; |
| | | break; |
| | | case "normal": |
| | | index = 1; |
| | | break; |
| | | case "timer": |
| | | index = 5; |
| | | break; |
| | | default: |
| | | index = 0; |
| | | break; |
| | | } |
| | | return index; |
| | | } |
| | | /// <summary> |
| | | /// 设置bus协议模式索引 |
| | | /// </summary> |
| | | public void SetModeIndex(int value, Function function) |
| | | { |
| | | string mode = "timer"; |
| | | switch (value) |
| | | { |
| | | case 5: |
| | | mode = "timer"; |
| | | break; |
| | | case 1: |
| | | mode = "normal"; |
| | | break; |
| | | case 2: |
| | | mode = "day"; |
| | | break; |
| | | case 3: |
| | | mode = "night"; |
| | | break; |
| | | case 4: |
| | | mode = "away"; |
| | | break; |
| | | default: |
| | | mode = "cool"; |
| | | break; |
| | | } |
| | | function.SetAttrState(FunctionAttributeKey.Mode, mode); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 时间标记 |
| | | /// 0:白天;1:夜晚 |
| | | /// </summary> |
| | | public byte timeFlag = 0; |
| | | |
| | | /// <summary> |
| | | /// 获取模式的icon路径 |
| | | /// <param name="lightingIcon">获取的图标类型,默认是点亮</param> |
| | | /// </summary> |
| | | public string GetModeIconPath(string modeValue, bool lighting = true) |
| | | { |
| | | var imagePath = "FunctionIcon/AC/HeatingIcon.png"; |
| | | //var key = function.GetAttrState(FunctionAttributeKey.Mode); |
| | | if (lighting) |
| | | { |
| | | switch (modeValue) |
| | | { |
| | | case "day": |
| | | imagePath = "FunctionIcon/AC/HeatingIcon.png"; |
| | | break; |
| | | case "night": |
| | | imagePath = "FunctionIcon/FloorHeating/NightIcon.png"; |
| | | break; |
| | | case "away": |
| | | imagePath = "FunctionIcon/FloorHeating/AwayIcon.png"; |
| | | break; |
| | | case "timer": |
| | | imagePath = "FunctionIcon/AC/AutoIcon.png"; |
| | | break; |
| | | case "normal": |
| | | imagePath = "FunctionIcon/FloorHeating/OrdinaryIcon.png"; |
| | | break; |
| | | default: |
| | | imagePath = "FunctionIcon/AC/HeatingIcon.png"; |
| | | break; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | switch (modeValue) |
| | | { |
| | | case "day": |
| | | imagePath = "FunctionIcon/AC/HeatingIconGray.png"; |
| | | break; |
| | | case "night": |
| | | imagePath = "FunctionIcon/FloorHeating/NightIconGray.png"; |
| | | break; |
| | | case "away": |
| | | imagePath = "FunctionIcon/FloorHeating/AwayIconGray.png"; |
| | | break; |
| | | case "timer": |
| | | imagePath = "FunctionIcon/AC/AutoIconGray.png"; |
| | | break; |
| | | case "normal": |
| | | imagePath = "FunctionIcon/FloorHeating/OrdinaryIconGray.png"; |
| | | break; |
| | | } |
| | | } |
| | | return imagePath; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 获取模式属性文本 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public string GetModeAttrText(string value) |
| | | { |
| | | string text = ""; |
| | | switch (value) |
| | | { |
| | | case "day": |
| | | text = Language.StringByID(StringId.Day); |
| | | break; |
| | | case "night": |
| | | text = Language.StringByID(StringId.Night); |
| | | break; |
| | | case "away": |
| | | text = Language.StringByID(StringId.Away); |
| | | break; |
| | | case "timer": |
| | | text = Language.StringByID(StringId.Auto); |
| | | break; |
| | | case "normal": |
| | | text = Language.StringByID(StringId.Normal); |
| | | break; |
| | | } |
| | | return text; |
| | | } |
| | | } |
| | | } |