• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java ThingHandler类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java XMLSerializer类代码示例发布时间:2022-05-21
下一篇:
Java FindFailed类代码示例发布时间:2022-05-21
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap