mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
Signed-off-by: Massimo Valla <mvcode00@gmail.com>
This commit is contained in:
parent
a857592f07
commit
e32a262c30
@ -66,7 +66,7 @@ For other gateways you can add them manually, see [Thing Configuration](#thing-c
|
|||||||
|
|
||||||
Devices can also be discovered if activated while an Inbox Scan is active: start a new Scan, wait 15-20 seconds and then _while the Scan is still active_ (spinning arrow in Inbox), activate the physical device (for example dim the dimmer) to have it discovered by the binding.
|
Devices can also be discovered if activated while an Inbox Scan is active: start a new Scan, wait 15-20 seconds and then _while the Scan is still active_ (spinning arrow in Inbox), activate the physical device (for example dim the dimmer) to have it discovered by the binding.
|
||||||
|
|
||||||
If a device cannot be discovered automatically it's always possible to add them manually, see [Configuring Devices](#configuring-devices).
|
If a device cannot be discovered automatically it's always possible to add it manually, see [Configuring Devices](#configuring-devices).
|
||||||
|
|
||||||
### ZigBee Discovery
|
### ZigBee Discovery
|
||||||
|
|
||||||
@ -210,5 +210,6 @@ Special thanks for helping on testing this binding go to:
|
|||||||
[@k0nti](https://community.openhab.org/u/k0nti/),
|
[@k0nti](https://community.openhab.org/u/k0nti/),
|
||||||
[@gilberto.cocchi](https://community.openhab.org/u/gilberto.cocchi/),
|
[@gilberto.cocchi](https://community.openhab.org/u/gilberto.cocchi/),
|
||||||
[@llegovich](https://community.openhab.org/u/llegovich),
|
[@llegovich](https://community.openhab.org/u/llegovich),
|
||||||
[@gabriele.daltoe](https://community.openhab.org/u/gabriele.daltoe)
|
[@gabriele.daltoe](https://community.openhab.org/u/gabriele.daltoe),
|
||||||
|
[@feodor](https://community.openhab.org/u/feodor)
|
||||||
and many others at the fantastic openHAB community!
|
and many others at the fantastic openHAB community!
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.openwebnet4j</groupId>
|
<groupId>com.github.openwebnet4j</groupId>
|
||||||
<artifactId>openwebnet4j</artifactId>
|
<artifactId>openwebnet4j</artifactId>
|
||||||
<version>0.3.0</version>
|
<version>0.3.1</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
@ -314,16 +314,26 @@ public class OpenWebNetBridgeHandler extends ConfigStatusBridgeHandler implement
|
|||||||
/**
|
/**
|
||||||
* Un-register a device from this bridge handler
|
* Un-register a device from this bridge handler
|
||||||
*
|
*
|
||||||
* @param oId the device OpenWebNet id
|
* @param ownId the device OpenWebNet id
|
||||||
*/
|
*/
|
||||||
protected void unregisterDevice(String oId) {
|
protected void unregisterDevice(String ownId) {
|
||||||
if (registeredDevices.remove(oId) != null) {
|
if (registeredDevices.remove(ownId) != null) {
|
||||||
logger.debug("un-registered device ownId={}", oId);
|
logger.debug("un-registered device ownId={}", ownId);
|
||||||
} else {
|
} else {
|
||||||
logger.warn("could not un-register ownId={} (not found)", oId);
|
logger.warn("could not un-register ownId={} (not found)", ownId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an already registered device on this bridge handler
|
||||||
|
*
|
||||||
|
* @param ownId the device OpenWebNet id
|
||||||
|
* @return the registered device Thing handler or null if the id cannot be found
|
||||||
|
*/
|
||||||
|
public @Nullable OpenWebNetThingHandler getRegisteredDevice(String ownId) {
|
||||||
|
return registeredDevices.get(ownId);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEventMessage(@Nullable OpenMessage msg) {
|
public void onEventMessage(@Nullable OpenMessage msg) {
|
||||||
logger.trace("RECEIVED <<<<< {}", msg);
|
logger.trace("RECEIVED <<<<< {}", msg);
|
||||||
|
@ -138,6 +138,15 @@ public class OpenWebNetDeviceDiscoveryService extends AbstractDiscoveryService
|
|||||||
deviceWho = baseMsg.getWho();
|
deviceWho = baseMsg.getWho();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String ownId = bridgeHandler.ownIdFromWhoWhere(where, deviceWho);
|
||||||
|
if (thingTypeUID == OpenWebNetBindingConstants.THING_TYPE_BUS_ON_OFF_SWITCH) {
|
||||||
|
if (bridgeHandler.getRegisteredDevice(ownId) != null) {
|
||||||
|
logger.debug("dimmer/switch with WHERE={} already registered, skipping this discovery result", where);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
String tId = bridgeHandler.thingIdFromWhere(where);
|
String tId = bridgeHandler.thingIdFromWhere(where);
|
||||||
ThingUID thingUID = new ThingUID(thingTypeUID, bridgeUID, tId);
|
ThingUID thingUID = new ThingUID(thingTypeUID, bridgeUID, tId);
|
||||||
|
|
||||||
@ -159,7 +168,7 @@ public class OpenWebNetDeviceDiscoveryService extends AbstractDiscoveryService
|
|||||||
}
|
}
|
||||||
Map<String, Object> properties = new HashMap<>(2);
|
Map<String, Object> properties = new HashMap<>(2);
|
||||||
properties.put(OpenWebNetBindingConstants.CONFIG_PROPERTY_WHERE, bridgeHandler.normalizeWhere(where));
|
properties.put(OpenWebNetBindingConstants.CONFIG_PROPERTY_WHERE, bridgeHandler.normalizeWhere(where));
|
||||||
properties.put(OpenWebNetBindingConstants.PROPERTY_OWNID, bridgeHandler.ownIdFromWhoWhere(where, deviceWho));
|
properties.put(OpenWebNetBindingConstants.PROPERTY_OWNID, ownId);
|
||||||
if (thingTypeUID == OpenWebNetBindingConstants.THING_TYPE_GENERIC_DEVICE) {
|
if (thingTypeUID == OpenWebNetBindingConstants.THING_TYPE_GENERIC_DEVICE) {
|
||||||
thingLabel = thingLabel + " (WHO=" + deviceWho + ", WHERE=" + whereLabel + ")";
|
thingLabel = thingLabel + " (WHO=" + deviceWho + ", WHERE=" + whereLabel + ")";
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user