zcmdclass.cs
来自「zwave 无线通讯协议 PC controller 控制器源码」· CS 代码 · 共 1,827 行 · 第 1/5 页
CS
1,827 行
/// <summary>
/// ZW_MANUFACTURER_SPECIFIC_GET_FRAME
/// </summary>
/// <returns></returns>
public static byte[] ZW_ManufacturerSpecificGetFrame()
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_MANUFACTURER_SPECIFIC, (byte)cmdManufacturerSpecific.MANUFACTURER_SPECIFIC_GET);
}
/// <summary>
/// ZW_MANUFACTURER_SPECIFIC_REPORT_FRAME
/// </summary>
/// <param name="mid1"></param>
/// <param name="mid2"></param>
/// <param name="ptyp1"></param>
/// <param name="ptyp2"></param>
/// <param name="pid1"></param>
/// <param name="pid2"></param>
/// <returns></returns>
public static byte[] ZW_ManufacturerSpecificReportFrame(byte mid1, byte mid2, byte ptyp1, byte ptyp2, byte pid1, byte pid2)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_MANUFACTURER_SPECIFIC, (byte)cmdManufacturerSpecific.MANUFACTURER_SPECIFIC_REPORT, mid1, mid2, ptyp1, ptyp2, pid1, pid2);
}
/// <summary>
/// POWERLEVEL_SET
/// </summary>
/// <param name="level"></param>
/// <param name="timeout"></param>
/// <returns></returns>
public static byte[] ZW_PowerLevelSetFrame(byte level, byte timeout)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_POWERLEVEL, (byte)cmdPowerlevel.POWERLEVEL_SET, level, timeout);
}
/// <summary>
/// POWERLEVEL_GET
/// </summary>
/// <returns></returns>
public static byte[] ZW_PowerLevelGetFrame()
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_POWERLEVEL, (byte)cmdPowerlevel.POWERLEVEL_GET);
}
/// <summary>
/// POWERLEVEL_REPORT
/// </summary>
/// <param name="level"></param>
/// <param name="timeout"></param>
/// <returns></returns>
public static byte[] ZW_PowerLevelReportFrame(byte level, byte timeout)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_POWERLEVEL, (byte)cmdPowerlevel.POWERLEVEL_REPORT, level, timeout);
}
/// <summary>
/// MULTI_INSTANCE_GET
/// </summary>
/// <param name="classToGet"></param>
/// <returns></returns>
public static byte[] ZW_MultiInstanceGetFrame(byte classToGet)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_MULTI_INSTANCE, (byte)cmdMultiInstance.MULTI_INSTANCE_GET, classToGet);
}
/// <summary>
/// MULTI_INSTANCE_REPORT
/// </summary>
/// <param name="classReported"></param>
/// <param name="count">is Number of instances that support this commandclass</param>
/// <returns></returns>
public static byte[] ZW_MultiInstanceReportFrame(byte classReported, byte count)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_MULTI_INSTANCE, (byte)cmdMultiInstance.MULTI_INSTANCE_REPORT, classReported, count);
}
#region Simple AV Control Command Class
/// <summary>
/// ZW_SIMPLE_AV_CONTROL_SET
/// </summary>
/// <param name="sequenceNumber"></param>
/// <param name="keyAttributes"></param>
/// <param name="itemID"></param>
/// <param name="commands"></param>
/// <returns></returns>
public static byte[] ZW_SimpleAVControlSetFrame(byte sequenceNumber, byte keyAttributes, byte itemIDMSB, byte itemIDLSB, byte[] commands)
{
return FillCmd(commands, (byte)cmdClass.COMMAND_CLASS_SIMPLE_AV_CONTROL, (byte)cmdSimpleAvControl.SIMPLE_AV_CONTROL_SET, sequenceNumber, keyAttributes, itemIDMSB, itemIDLSB);
}
public static byte[] ZW_SimpleAVControlGetFrame()
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_SIMPLE_AV_CONTROL, (byte)cmdSimpleAvControl.SIMPLE_AV_CONTROL_GET);
}
public static byte[] ZW_SimpleAVControlReportFrame(byte numberOfReports)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_SIMPLE_AV_CONTROL, (byte)cmdSimpleAvControl.SIMPLE_AV_CONTROL_REPORT, numberOfReports);
}
public static byte[] ZW_SimpleAVControlSupportedGetFrame(byte reportNo)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_SIMPLE_AV_CONTROL, (byte)cmdSimpleAvControl.SIMPLE_AV_CONTROL_SUPPORTED_GET, reportNo);
}
public static byte[] ZW_SimpleAVControlSupportedReportFrame(byte reportNo, byte[] bitmask)
{
return FillCmd(bitmask, (byte)cmdClass.COMMAND_CLASS_SIMPLE_AV_CONTROL, (byte)cmdSimpleAvControl.SIMPLE_AV_CONTROL_SUPPORTED_REPORT, reportNo);
}
#endregion
#region AV Content Directory Meta Data Command Class
public static byte[] ZW_AVContentBrowseMediaMDGet(byte objectIDMSB, byte objectIDLSB, byte startingIndexMSB, byte startingIndexLSB, byte requedstedCount)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_AV_CONTENT_DIRECTORY_MD, (byte)cmdAvContentDirectoryMd.AV_CONTENT_BROWSE_MEDIA_MD_GET, objectIDMSB, objectIDLSB, startingIndexMSB, startingIndexLSB, requedstedCount);
}
public static byte[] ZW_AVContentBrowseMediaMDReportFirst(byte objectIDMSB, byte objectIDLSB, byte reportsToFollow, byte foundObjectsMSB, byte foundObjectsLSB, byte parentIDMSB, byte parentIDLSB, byte childCountMSB, byte childCountLSB, byte objectType, byte numericalPresOfChar, byte[] chars)
{
return FillCmd(chars, (byte)cmdClass.COMMAND_CLASS_AV_CONTENT_DIRECTORY_MD, (byte)cmdAvContentDirectoryMd.AV_CONTENT_BROWSE_MEDIA_MD_REPORT, objectIDMSB, objectIDLSB, reportsToFollow, foundObjectsMSB, foundObjectsLSB, parentIDMSB, parentIDLSB, childCountMSB, childCountLSB, objectType, numericalPresOfChar);
}
public static byte[] ZW_AVContentBrowseMediaMDReportCont(byte objectIDMSB, byte objectIDLSB, byte reportsToFollow, byte[] chars)
{
return FillCmd(chars, (byte)cmdClass.COMMAND_CLASS_AV_CONTENT_DIRECTORY_MD, (byte)cmdAvContentDirectoryMd.AV_CONTENT_BROWSE_MEDIA_MD_REPORT, objectIDMSB, objectIDLSB, reportsToFollow);
}
public static byte[] ZW_AVContentMatchItemToRendererMDGet(byte objectIDMSB, byte objectIDLSB)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_AV_CONTENT_DIRECTORY_MD, (byte)cmdAvContentDirectoryMd.AV_MATCH_ITEM_TO_RENDERER_MD_GET, objectIDMSB, objectIDLSB);
}
public static byte[] ZW_AVContentMatchItemToRendererMDReport2Byte(byte objectIDMSB, byte objectIDLSB, byte rendererID1, byte rendererID2)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_AV_CONTENT_DIRECTORY_MD, (byte)cmdAvContentDirectoryMd.AV_MATCH_ITEM_TO_RENDERER_MD_REPORT, objectIDMSB, objectIDLSB, rendererID1, rendererID2);
}
#endregion
#region AV Content Search Meta Data Command Class
public static byte[] ZW_AVContentSearchMDGet(byte mediaType, byte searchType, byte objectIDMSB, byte objectIDLSB, byte sortOrder, byte numericalPresOfAChar, byte[] searchString)
{
return FillCmd(searchString, (byte)cmdClass.COMMAND_CLASS_AV_CONTENT_SEARCH_MD, (byte)cmdAvContentSearchMd.AV_CONTENT_SEARCH_MD_GET, mediaType, searchType, objectIDMSB, objectIDLSB, sortOrder, numericalPresOfAChar);
}
public static byte[] ZW_AVContentSearchMDReport(byte errorCode, byte foundObjectsMSB, byte foundObjectsLSB, byte objectIDMSB, byte objectIDLSB)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_AV_CONTENT_SEARCH_MD, (byte)cmdAvContentSearchMd.AV_CONTENT_SEARCH_MD_REPORT, errorCode, foundObjectsMSB, foundObjectsLSB, objectIDMSB, objectIDLSB);
}
#endregion
#region AV Renderer Status Command Class
public static byte[] ZW_AVRendererStatusGet(byte rendererID)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_AV_RENDERER_STATUS, (byte)cmdAvRendererStatus.AV_RENDERER_STATUS_GET, rendererID);
}
public static byte[] ZW_AVRendererStatusReport(byte rendererID, byte status, byte activeObjectIDMSB, byte activeObjectIDLSB, byte objectType)
{
return FillCmd((byte)cmdClass.COMMAND_CLASS_AV_RENDERER_STATUS, (byte)cmdAvRendererStatus.AV_RENDERER_STATUS_REPORT, rendererID, status, activeObjectIDMSB, activeObjectIDLSB, objectType);
}
#endregion
}
/// <summary>
///GenericController is specified by the following enums
/// </summary>
public enum GenericController
{
/// <summary>
///SPECIFIC_TYPE_NOT_USED = 0x00
/// </summary>
SPECIFIC_TYPE_NOT_USED = 0x00,
/// <summary>
/// SPECIFIC_TYPE_PORTABLE_REMOTE_CONTROLLER = 0x01,
/// </summary>
SPECIFIC_TYPE_PORTABLE_REMOTE_CONTROLLER = 0x01,
/// <summary>
/// SPECIFIC_TYPE_PORTABLE_SCENE_CONTROLLER = 0x02,
/// </summary>
SPECIFIC_TYPE_PORTABLE_SCENE_CONTROLLER = 0x02,
}
/// <summary>
///StaticController is specified by the following enums
/// </summary>
public enum StaticController
{
/// <summary>
///SPECIFIC_TYPE_NOT_USED = 0x00
/// </summary>
SPECIFIC_TYPE_NOT_USED = 0x00,
/// <summary>
/// SPECIFIC_TYPE_PC_CONTROLLER = 0x01,
/// </summary>
SPECIFIC_TYPE_PC_CONTROLLER = 0x01,
/// <summary>
/// SPECIFIC_TYPE_SCENE_CONTROLLER = 0x02,
/// </summary>
SPECIFIC_TYPE_SCENE_CONTROLLER = 0x02,
}
/// <summary>
///Display is specified by the following enums
/// </summary>
public enum Display
{
/// <summary>
///SPECIFIC_TYPE_NOT_USED = 0x00
/// </summary>
SPECIFIC_TYPE_NOT_USED = 0x00,
/// <summary>
/// SPECIFIC_TYPE_SIMPLE_DISPLAY = 0x01,
/// </summary>
SPECIFIC_TYPE_SIMPLE_DISPLAY = 0x01,
}
/// <summary>
///GarageDoor is specified by the following enums
/// </summary>
public enum GarageDoor
{
/// <summary>
///SPECIFIC_TYPE_NOT_USED = 0x00
/// </summary>
SPECIFIC_TYPE_NOT_USED = 0x00,
/// <summary>
/// SPECIFIC_TYPE_SIMPLE_GARAGE_DOOR = 0x01,
/// </summary>
SPECIFIC_TYPE_SIMPLE_GARAGE_DOOR = 0x01,
}
/// <summary>
///Thermostat is specified by the following enums
/// </summary>
public enum Thermostat
{
/// <summary>
///SPECIFIC_TYPE_NOT_USED = 0x00
/// </summary>
SPECIFIC_TYPE_NOT_USED = 0x00,
/// <summary>
/// SPECIFIC_TYPE_THERMOSTAT_HEATING = 0x01,
/// </summary>
SPECIFIC_TYPE_THERMOSTAT_HEATING = 0x01,
/// <summary>
/// SPECIFIC_TYPE_THERMOSTAT_GENERAL = 0x02,
/// </summary>
SPECIFIC_TYPE_THERMOSTAT_GENERAL = 0x02,
}
/// <summary>
///WindowCovering is specified by the following enums
/// </summary>
public enum WindowCovering
{
/// <summary>
///SPECIFIC_TYPE_NOT_USED = 0x00
/// </summary>
SPECIFIC_TYPE_NOT_USED = 0x00,
/// <summary>
/// SPECIFIC_TYPE_SIMPLE_WINDOW_COVERING = 0x01,
/// </summary>
SPECIFIC_TYPE_SIMPLE_WINDOW_COVERING = 0x01,
}
/// <summary>
///RepeaterSlave is specified by the following enums
/// </summary>
public enum RepeaterSlave
{
/// <summary>
///SPECIFIC_TYPE_NOT_USED = 0x00
/// </summary>
SPECIFIC_TYPE_NOT_USED = 0x00,
/// <summary>
/// SPECIFIC_TYPE_REPEATER_SLAVE = 0x01,
/// </summary>
SPECIFIC_TYPE_REPEATER_SLAVE = 0x01,
}
/// <summary>
///SwitchBinary is specified by the following enums
/// </summary>
public enum SwitchBinary
{
/// <summary>
///SPECIFIC_TYPE_NOT_USED = 0x00
/// </summary>
SPECIFIC_TYPE_NOT_USED = 0x00,
/// <summary>
/// SPECIFIC_TYPE_POWER_SWITCH_BINARY = 0x01,
/// </summary>
SPECIFIC_TYPE_POWER_SWITCH_BINARY = 0x01,
/// <summary>
/// SPECIFIC_TYPE_POWER_SWITCH_BINARY_V2 = 0x03,
/// </summary>
SPECIFIC_TYPE_POWER_SWITCH_BINARY_V2 = 0x03,
/// <summary>
/// SPECIFIC_TYPE_SCENE_SWITCH_BINARY = 0x02,
/// </summary>
SPECIFIC_TYPE_SCENE_SWITCH_BINARY = 0x02,
}
/// <summary>
///SwitchMultilevel is specified by the following enums
/// </summary>
public enum SwitchMultilevel
{
/// <summary>
///SPECIFIC_TYPE_NOT_USED = 0x00
/// </summary>
SPECIFIC_TYPE_NOT_USED = 0x00,
/// <summary>
/// SPECIFIC_TYPE_POWER_SWITCH_MULTILEVEL = 0x01,
/// </summary>
SPECIFIC_TYPE_POWER_SWITCH_MULTILEVEL = 0x01,
/// <summary>
/// SPECIFIC_TYPE_MOTOR_MULTIPOSITION = 0x03,
/// </summary>
SPECIFIC_TYPE_MOTOR_MULTIPOSITION = 0x03,
/// <summary>
/// SPECIFIC_TYPE_SCENE_SWITCH_MULTILEVEL = 0x02,
/// </summary>
SPECIFIC_TYPE_SCENE_SWITCH_MULTILEVEL = 0x02,
}
/// <summary>
///SwitchRemote is specified by the following enums
/// </summary>
public enum SwitchRemote
{
/// <summary>
///SPECIFIC_TYPE_NOT_USED = 0x00
/// </summary>
SPECIFIC_TYPE_NOT_USED = 0x00,
/// <summary>
/// SPECIFIC_TYPE_SWITCH_REMOTE_TOGGLE_MULTILEVEL = 0x04,
/// </summary>
SPECIFIC_TYPE_SWITCH_REMOTE_TOGGLE_MULTILEVEL = 0x04,
/// <summary>
/// SPECIFIC_TYPE_SWITCH_REMOTE_BINARY = 0x01,
/// </summary>
SPECIFIC_TYPE_SWITCH_REMOTE_BINARY = 0x01,
/// <summary>
/// SPECIFIC_TYPE_SWITCH_REMOTE_TOGGLE_BINARY = 0x03,
/// </summary>
SPECIFIC_TYPE_SWITCH_REMOTE_TOGGLE_BINARY = 0x03,
/// <summary>
/// SPECIFIC_TYPE_SWITCH_REMOTE_MULTILEVEL = 0x02,
/// </summary>
SPECIFIC_TYPE_SWITCH_REMOTE_MULTILEVEL = 0x02,
}
/// <summary>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?