本文整理汇总了Java中org.eclipse.smarthome.core.thing.binding.ThingHandler类的典型用法代码示例。如果您正苦于以下问题:Java ThingHandler类的具体用法?Java ThingHandler怎么用?Java ThingHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ThingHandler类属于org.eclipse.smarthome.core.thing.binding包,在下文中一共展示了ThingHandler类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: createHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Override
protected ThingHandler createHandler(Thing thing) {
ThingTypeUID thingTypeUID = thing.getThingTypeUID();
if (thingTypeUID.equals(THING_TYPE_HOME)) {
TadoHomeHandler tadoHomeHandler = new TadoHomeHandler((Bridge) thing);
TadoDiscoveryService discoveryService = new TadoDiscoveryService(tadoHomeHandler);
bundleContext.registerService(DiscoveryService.class.getName(), discoveryService,
new Hashtable<String, Object>());
return tadoHomeHandler;
} else if (thingTypeUID.equals(THING_TYPE_ZONE)) {
return new TadoZoneHandler(thing);
} else if (thingTypeUID.equals(THING_TYPE_MOBILE_DEVICE)) {
return new TadoMobileDeviceHandler(thing);
}
return null;
}
开发者ID:dfrommi,项目名称:openhab-tado,代码行数:21,代码来源:TadoHandlerFactory.java
示例2: removeHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Override
protected synchronized void removeHandler(ThingHandler thingHandler) {
if (thingHandler instanceof ZigBeeCoordinatorHandler) {
ServiceRegistration<?> serviceReg = this.discoveryServiceRegs.get(thingHandler.getThing().getUID());
if (serviceReg != null) {
// remove discovery service, if bridge handler is removed
ZigBeeDiscoveryService service = (ZigBeeDiscoveryService) bundleContext
.getService(serviceReg.getReference());
if (service != null) {
service.deactivate();
}
serviceReg.unregister();
discoveryServiceRegs.remove(thingHandler.getThing().getUID());
}
}
}
开发者ID:openhab,项目名称:org.openhab.binding.zigbee,代码行数:17,代码来源:ZigBeeHandlerFactory.java
示例3: getBridgeHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
private synchronized WMBusBridgeHandler getBridgeHandler() {
if (this.bridgeHandler == null) {
Bridge bridge = getBridge();
if (bridge == null) {
return null;
}
ThingHandler handler = bridge.getHandler();
if (handler instanceof WMBusBridgeHandler) {
this.bridgeHandler = (WMBusBridgeHandler) handler;
this.bridgeHandler.registerWMBusMessageListener(this);
} else {
return null;
}
}
return this.bridgeHandler;
}
开发者ID:pokerazor,项目名称:openhab-binding-wmbus,代码行数:17,代码来源:WMBusTechemHKVHandler.java
示例4: createHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Override
protected ThingHandler createHandler(Thing thing) {
ThingTypeUID thingTypeUID = thing.getThingTypeUID();
if (thingTypeUID.equals(WMBusBindingConstants.THING_TYPE_BRIDGE)) {
// create handler for WMBus bridge
logger.debug("Creating (handler for) WMBus bridge.");
if (thing instanceof Bridge) {
WMBusBridgeHandler handler = new WMBusBridgeHandler((Bridge) thing);
registerDiscoveryService(handler);
return handler;
} else {
return null;
}
} else if (thingTypeUID.equals(WMBusBindingConstants.THING_TYPE_TECHEM_HKV)) {
// create handler for Techem HKV device
logger.debug("Creating (handler for) TechemHKV device.");
return new WMBusTechemHKVHandler(thing);
} else {
return null;
}
}
开发者ID:pokerazor,项目名称:openhab-binding-wmbus,代码行数:23,代码来源:WMBusHandlerFactory.java
示例5: createHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Override
protected ThingHandler createHandler(Thing thing) {
ThingTypeUID thingTypeUID = thing.getThingTypeUID();
if (thingTypeUID.equals(MegaDBindingConstants.THING_TYPE_UID_BRIDGE)) {
MegaDBridgeHandler handler = new MegaDBridgeHandler((Bridge) thing);
return handler;
}
if (supportsThingType(thingTypeUID)) {
return new MegaDHandler(thing);
}
return null;
}
开发者ID:Pshatsillo,项目名称:openhab2MegadBinding,代码行数:17,代码来源:MegaDHandlerFactory.java
示例6: getMaxCubeBridgeHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
private synchronized MaxCubeBridgeHandler getMaxCubeBridgeHandler() {
if (this.bridgeHandler == null) {
Bridge bridge = getBridge();
if (bridge == null) {
logger.debug("Required bridge not defined for device {}.", maxDeviceSerial);
return null;
}
ThingHandler handler = bridge.getHandler();
if (handler instanceof MaxCubeBridgeHandler) {
this.bridgeHandler = (MaxCubeBridgeHandler) handler;
this.bridgeHandler.registerDeviceStatusListener(this);
} else {
logger.debug("No available bridge handler found for {} bridge {} .", maxDeviceSerial,
bridge.getUID());
return null;
}
}
return this.bridgeHandler;
}
开发者ID:Neulinet,项目名称:Zoo,代码行数:21,代码来源:MaxDevicesHandler.java
示例7: getBridgeHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
private synchronized Ip2WireBridgeHandler getBridgeHandler() {
if (this.bridgeHandler == null) {
Bridge bridge = getBridge();
if (bridge == null) {
logger.debug("Required bridge not defined for device {}.", deviceWhereAddress);
return null;
}
ThingHandler handler = bridge.getHandler();
if (handler instanceof Ip2WireBridgeHandler) {
this.bridgeHandler = (Ip2WireBridgeHandler) handler;
this.bridgeHandler.registerDeviceStatusListener(this);
} else {
logger.debug("No available bridge handler found for {} bridge {} .", deviceWhereAddress,
bridge.getUID());
return null;
}
}
return this.bridgeHandler;
}
开发者ID:Neulinet,项目名称:Zoo,代码行数:21,代码来源:OpenWebNetVdesHandler.java
示例8: createHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Override
protected ThingHandler createHandler(Thing thing) {
ElementsDiscoveryService discoveryService = null;
if (ElementsBindingConstants.THING_TYPE_BASE.equals(thing.getThingTypeUID())) {
logger.debug("discovery service register");
ElementsBridgeHandler bridgetHandler = new ElementsBridgeHandler(thing, discoveryService);
discoveryService = new ElementsDiscoveryService((Bridge) thing, 15);
this.discoveryServiceReg = bundleContext.registerService(DiscoveryService.class.getName(), discoveryService,
new Hashtable<String, Object>());
logger.debug("done ElementsDiscoveryService");
return bridgetHandler;
}
return new ElementsThingHandler(thing);
}
开发者ID:hkuhn42,项目名称:openhab2.elements,代码行数:17,代码来源:ElementsHandlerFactory.java
示例9: createHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Override
protected ThingHandler createHandler(Thing thing) {
logger.debug("MeteoStick thing factory: createHandler {} of type {}", thing.getThingTypeUID(), thing.getUID());
ThingTypeUID thingTypeUID = thing.getThingTypeUID();
if (MeteostickBridgeHandler.SUPPORTED_THING_TYPES.contains(thingTypeUID)) {
return new MeteostickBridgeHandler((Bridge) thing);
}
if (MeteostickSensorHandler.SUPPORTED_THING_TYPES.contains(thingTypeUID)) {
return new MeteostickSensorHandler(thing);
}
return null;
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:17,代码来源:MeteostickHandlerFactory.java
示例10: updatePlayer
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
/**
* Update Listeners and child Squeeze Player Things
*
* @param event
*/
private void updatePlayer(PlayerUpdateEvent event) {
// update listeners like disco services
for (SqueezeBoxPlayerEventListener listener : squeezeBoxPlayerListeners) {
event.updateListener(listener);
}
// update our children
Bridge bridge = getThing();
if (bridge == null) {
return;
}
List<Thing> things = bridge.getThings();
for (Thing thing : things) {
ThingHandler handler = thing.getHandler();
if (handler instanceof SqueezeBoxPlayerEventListener && !squeezeBoxPlayerListeners.contains(handler)) {
event.updateListener((SqueezeBoxPlayerEventListener) handler);
}
}
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:26,代码来源:SqueezeBoxServerHandler.java
示例11: getXiaomiBridgeHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
synchronized XiaomiBridgeHandler getXiaomiBridgeHandler() {
if (this.bridgeHandler == null) {
Bridge bridge = getBridge();
if (bridge == null) {
return null;
}
ThingHandler handler = bridge.getHandler();
if (handler instanceof XiaomiBridgeHandler) {
this.bridgeHandler = (XiaomiBridgeHandler) handler;
this.bridgeHandler.registerItemListener(this);
} else {
return null;
}
}
return this.bridgeHandler;
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:17,代码来源:XiaomiDeviceBaseHandler.java
示例12: createHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Override
protected ThingHandler createHandler(Thing thing) {
ThingTypeUID thingTypeUID = thing.getThingTypeUID();
if (thingTypeUID.equals(THING_TYPE_STICK)) {
PlugwiseStickHandler handler = new PlugwiseStickHandler((Bridge) thing);
registerDiscoveryService(handler);
return handler;
} else if (thingTypeUID.equals(THING_TYPE_CIRCLE) || thingTypeUID.equals(THING_TYPE_CIRCLE_PLUS)
|| thingTypeUID.equals(THING_TYPE_STEALTH)) {
return new PlugwiseRelayDeviceHandler(thing);
} else if (thingTypeUID.equals(THING_TYPE_SCAN)) {
return new PlugwiseScanHandler(thing);
} else if (thingTypeUID.equals(THING_TYPE_SENSE)) {
return new PlugwiseSenseHandler(thing);
} else if (thingTypeUID.equals(THING_TYPE_SWITCH)) {
return new PlugwiseSwitchHandler(thing);
}
return null;
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:22,代码来源:PlugwiseHandlerFactory.java
示例13: childChanged
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
/**
* Helper method to recreate the {@link RioConstants#CHANNEL_CTLZONES} channel
*
* @param childHandler a non-null child handler that changed
* @param added true if the handler was added, false otherwise
* @throw IllegalArgumentException if childHandler is null
*/
private void childChanged(ThingHandler childHandler, boolean added) {
if (childHandler == null) {
throw new IllegalArgumentException("childHandler cannot be null");
}
if (childHandler instanceof RioZoneHandler) {
final RioHandlerCallback callback = ((RioZoneHandler) childHandler).getCallback();
if (callback != null) {
if (added) {
callback.addListener(RioConstants.CHANNEL_ZONENAME, handlerCallbackListener);
} else {
callback.removeListener(RioConstants.CHANNEL_ZONENAME, handlerCallbackListener);
}
}
refreshNamedHandler(gson, RioZoneHandler.class, RioConstants.CHANNEL_CTLZONES);
}
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:24,代码来源:RioControllerHandler.java
示例14: createHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Nullable
@Override
protected ThingHandler createHandler(Thing thing) {
ThingTypeUID thingTypeUID = thing.getThingTypeUID();
SmartHomeDevice device;
if (HS110.is(thingTypeUID)) {
device = new EnergySwitchDevice();
} else if (LB130.is(thingTypeUID) || LB230.is(thingTypeUID)) {
device = new BulbDevice(thingTypeUID, COLOR_TEMPERATURE_LB130_MIN, COLOR_TEMPERATURE_LB130_MAX);
} else if (LB120.is(thingTypeUID)) {
device = new BulbDevice(thingTypeUID, COLOR_TEMPERATURE_LB120_MIN, COLOR_TEMPERATURE_LB120_MAX);
} else if (TPLinkSmartHomeThingType.isSwitchingDevice(thingTypeUID)) {
device = new SwitchDevice();
} else if (TPLinkSmartHomeThingType.isBulbDevice(thingTypeUID)) {
device = new BulbDevice(thingTypeUID);
} else {
return null;
}
return new SmartHomeHandler(thing, device);
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:22,代码来源:TPLinkSmartHomeHandlerFactory.java
示例15: initializeBridge
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
private void initializeBridge(ThingHandler thingHandler, ThingStatus bridgeStatus) {
logger.debug("initializeBridge {} for thing {}", bridgeStatus, getThing().getUID());
config = getConfigAs(RFXComDeviceConfiguration.class);
if (config.deviceId == null || config.subType == null) {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR,
"RFXCOM device missing deviceId or subType");
} else if (thingHandler != null && bridgeStatus != null) {
bridgeHandler = (RFXComBridgeHandler) thingHandler;
bridgeHandler.registerDeviceStatusListener(this);
if (bridgeStatus == ThingStatus.ONLINE) {
updateStatus(ThingStatus.ONLINE);
} else {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE);
}
} else {
updateStatus(ThingStatus.OFFLINE);
}
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:21,代码来源:RFXComHandler.java
示例16: createHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Override
protected ThingHandler createHandler(Thing thing) {
ThingTypeUID thingTypeUID = thing.getThingTypeUID();
if (thingTypeUID.equals(MinecraftBindingConstants.THING_TYPE_SERVER)) {
MinecraftServerHandler serverHandler = new MinecraftServerHandler((Bridge) thing);
minecraftServers.add(serverHandler);
return serverHandler;
} else if (thingTypeUID.equals(MinecraftBindingConstants.THING_TYPE_PLAYER)) {
MinecraftPlayerHandler playerHandler = new MinecraftPlayerHandler(thing);
return playerHandler;
} else if (thingTypeUID.equals(MinecraftBindingConstants.THING_TYPE_SIGN)) {
MinecraftSignHandler signHandler = new MinecraftSignHandler(thing);
return signHandler;
}
return null;
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:20,代码来源:MinecraftHandlerFactory.java
示例17: createHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Override
protected ThingHandler createHandler(Thing thing) {
ThingTypeUID thingTypeUID = thing.getThingTypeUID();
if (thingTypeUID.equals(ZoneMinderConstants.THING_TYPE_BRIDGE_ZONEMINDER_SERVER)) {
logger.debug("[FACTORY]: creating handler for bridge thing '{}'", thing);
ZoneMinderServerBridgeHandler bridge = new ZoneMinderServerBridgeHandler((Bridge) thing);
return bridge;
} else if (thingTypeUID.equals(ZoneMinderConstants.THING_TYPE_THING_ZONEMINDER_MONITOR)) {
return new ZoneMinderThingMonitorHandler(thing);
}
return null;
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:18,代码来源:ZoneMinderHandlerFactory.java
示例18: run
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
@Override
public void run() {
// Removing all containing device things
logger.debug("Removing all configured devices ...");
for (Thing thing : getThing().getThings()) {
ThingHandler handler = thing.getHandler();
if (handler != null) {
logger.debug("Removing device: {}", thing.getLabel());
handler.handleRemoval();
} else {
logger.warn("Removing device failed (DeviceHandler is null): {}", thing.getLabel());
}
}
// Remove openHAB server to Z-Way if observer mechanism is enabled
if (mConfig.getObserverMechanismEnabled()) {
updateOpenHabConnector(true);
}
// status update will finally remove the thing
updateStatus(ThingStatus.REMOVED);
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:23,代码来源:ZWayBridgeHandler.java
示例19: getPulseaudioBridgeHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
private synchronized PulseaudioBridgeHandler getPulseaudioBridgeHandler() {
if (this.bridgeHandler == null) {
Bridge bridge = getBridge();
if (bridge == null) {
logger.debug("Required bridge not defined for device {}.", name);
return null;
}
ThingHandler handler = bridge.getHandler();
if (handler instanceof PulseaudioBridgeHandler) {
this.bridgeHandler = (PulseaudioBridgeHandler) handler;
this.bridgeHandler.registerDeviceStatusListener(this);
} else {
logger.debug("No available bridge handler found for device {} bridge {} .", name, bridge.getUID());
return null;
}
}
return this.bridgeHandler;
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:20,代码来源:PulseaudioHandler.java
示例20: getDSCAlarmBridgeHandler
import org.eclipse.smarthome.core.thing.binding.ThingHandler; //导入依赖的package包/类
/**
* Get the Bridge Handler for the DSC Alarm.
*
* @return dscAlarmBridgeHandler
*/
public synchronized DSCAlarmBaseBridgeHandler getDSCAlarmBridgeHandler() {
if (this.dscAlarmBridgeHandler == null) {
Bridge bridge = getBridge();
if (bridge == null) {
logger.debug("getDSCAlarmBridgeHandler(): Unable to get bridge!");
return null;
}
logger.debug("getDSCAlarmBridgeHandler(): Bridge for '{}' - '{}'", getThing().getUID(), bridge.getUID());
ThingHandler handler = bridge.getHandler();
if (handler instanceof DSCAlarmBaseBridgeHandler) {
this.dscAlarmBridgeHandler = (DSCAlarmBaseBridgeHandler) handler;
} else {
logger.debug("getDSCAlarmBridgeHandler(): Unable to get bridge handler!");
}
}
return this.dscAlarmBridgeHandler;
}
开发者ID:openhab,项目名称:openhab2-addons,代码行数:30,代码来源:DSCAlarmBaseThingHandler.java
注:本文中的org.eclipse.smarthome.core.thing.binding.ThingHandler类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论