zensysupnpbridgeddevice.cs
来自「zwave 无线通讯协议 PC controller 控制器源码」· CS 代码 · 共 170 行
CS
170 行
////////////////////////////////////////////////////////////////////////////////////////////////
//
// #######
// # ## #### ##### ##### ## ## #####
// ## ## ## ## ## ## ## ## ##
// ## # ###### ## ## #### ## ## ####
// ## ## ## ## ## ## ##### ##
// ####### #### ## ## ##### ## #####
// #####
// Z-Wave, the wireless language.
//
// Copyright Zensys A/S, 2003,2004
//
// All Rights Reserved
//
// Description: This source file is the main sourcefile for the
// ZensysBridgedDevice class which is the class all Z-Wave
// Bridge device should inherit from
//
// Author: Johann Sigfredsson
//
// Last Changed By: $Author: jch $
// Revision: $Revision: 1.1 $
// Last Changed: $Date: 2006/04/28 08:40:39 $
//
//////////////////////////////////////////////////////////////////////////////////////////////
using System;
using Zensys.ZWave.Communication;
using Zensys.ZCmdClass;
using Zensys.ZWave.Logging;
namespace Zensys
{
/// <summary>
/// Summary description for ZensysBridgedDevice.
/// </summary>
public class ZensysBridgedDevice
{
/// <summary>
/// Current defined Z-Wave generic device types
/// </summary>
public enum ZWaveDeviceTypes
{
UNKNOWN = GenericType.GENERIC_TYPE_NON_INTEROPERABLE,
GENERIC_CONTROLLER = GenericType.GENERIC_TYPE_GENERIC_CONTROLLER,
STATIC_CONTROLLER = GenericType.GENERIC_TYPE_STATIC_CONTROLLER,
REPEATER_SLAVE = GenericType.GENERIC_TYPE_REPEATER_SLAVE,
SWITCH_BINARY = GenericType.GENERIC_TYPE_SWITCH_BINARY,
SWITCH_MULTILEVEL = GenericType.GENERIC_TYPE_SWITCH_MULTILEVEL,
SENSOR_BINARY = GenericType.GENERIC_TYPE_SENSOR_BINARY,
SENSOR_MULTILEVEL = GenericType.GENERIC_TYPE_SENSOR_MULTILEVEL,
METER_PULSE = GenericType.GENERIC_TYPE_METER_PULSE,
ENTRY_CONTROL = GenericType.GENERIC_TYPE_ENTRY_CONTROL,
}
/// <summary>
/// Current defined Z-Wave specific device types
/// </summary>
public enum ZWaveSpecificDeviceTypes
{
NOT_USED = GenericController.SPECIFIC_TYPE_NOT_USED,
PORTABLE_REMOTE_CONTROLLER = GenericController.SPECIFIC_TYPE_PORTABLE_REMOTE_CONTROLLER,
PC_CONTROLLER = StaticController.SPECIFIC_TYPE_PC_CONTROLLER,
REPEATER_SLAVE = RepeaterSlave.SPECIFIC_TYPE_REPEATER_SLAVE,
POWER_SWITCH_BINARY = SwitchBinary.SPECIFIC_TYPE_POWER_SWITCH_BINARY,
POWER_SWITCH_MULTILEVEL = SwitchMultilevel.SPECIFIC_TYPE_POWER_SWITCH_MULTILEVEL,
ROUTING_SENSOR_BINARY = SensorBinary.SPECIFIC_TYPE_ROUTING_SENSOR_BINARY,
ROUTING_SENSOR_MULTILEVEL = SensorMultilevel.SPECIFIC_TYPE_ROUTING_SENSOR_MULTILEVEL,
CHIMNEY_FAN_SENSOR_MULTILEVEL = SensorMultilevel.SPECIFIC_TYPE_CHIMNEY_FAN_SENSOR_MULTILEVEL,
DOOR_LOCK = EntryControl.SPECIFIC_TYPE_DOOR_LOCK,
}
// This should be extended with new bridge types when needed
/// <summary>
/// Current defined Bridge types
/// </summary>
public enum ZWaveBridgeTypes : byte
{
UnKnown = 0,
UPnP = 1,
UPnP2ZWave = 2,
}
/// <summary>
/// States describing which state current Bridge device is in
/// </summary>
public enum ZWaveBridgeDeviceState : byte
{
Stopped = 0,
Started = 1,
}
/// <summary>
///
/// </summary>
public delegate void BridgeEvent_SubscriberHandler(ZensysBridgedDevice device, byte funcID);
protected ZWaveBridgeDeviceState state = ZWaveBridgeDeviceState.Stopped;
protected byte nodeId;
protected ZWaveDeviceTypes deviceZWaveType = ZWaveDeviceTypes.UNKNOWN; /* Default */
protected ZWaveBridgeTypes bridgeType = ZWaveBridgeTypes.UnKnown; /* What are the node bridged to - Default Unknown */
protected ZWaveLogging log = null;
protected object device;
/// <summary>
/// State of the Bridge device
/// </summary>
public virtual ZWaveBridgeDeviceState State {get {return state;} set {state = value;}}
/// <summary>
/// ZWave node Id on the Bridge device
/// </summary>
public virtual byte NodeId {get {return nodeId;} set {nodeId = value;}}
/// <summary>
/// ZWave device type on the Bridge device
/// </summary>
public virtual ZWaveDeviceTypes DeviceZWaveType {get {return deviceZWaveType;} set {deviceZWaveType = value;}}
/// <summary>
/// ZWave Bridge type on the Bridge device
/// </summary>
public virtual ZWaveBridgeTypes BridgeType {get {return bridgeType;} set {bridgeType = value;}}
public ZWaveLogging Log { get { return log; } set { log = value; } }
/// <summary>
/// Class Constructor
/// </summary>
public ZensysBridgedDevice()
{
}
/// <summary>
/// Initialize Zensys Bridge Device
/// </summary>
/// <param name="bType">Bridge type</param>
/// <param name="devType">Z-Wave device type</param>
/// <param name="Id">Z-Wave nodeID</param>
/// <param name="log">Logclass to log</param>
public void ZensysBridgeDeviceInit(ZWaveBridgeTypes bType, ZWaveDeviceTypes devType, byte Id, ZWaveLogging log)
{
nodeId = Id;
deviceZWaveType = devType;
//log = log;
Log = log;
bridgeType = bType;
}
/// <summary>
/// Start Bridgeing Z-Wave Device
/// </summary>
public virtual void Start()
{
state = ZWaveBridgeDeviceState.Started;
}
/// <summary>
/// Stop Bridgeing Z-Wave Device
/// </summary>
public virtual void Stop()
{
state = ZWaveBridgeDeviceState.Stopped;
}
public override string ToString()
{
return "BridgeBase";
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?