@Override
public void onDeviceAdded(AVMFritzBaseModel device) {
- ThingTypeUID thingTypeUID = new ThingTypeUID(BINDING_ID, bridgeHandler.getThingTypeId(device));
- if (getSupportedThingTypes().contains(thingTypeUID)) {
+ String id = bridgeHandler.getThingTypeId(device);
+ ThingTypeUID thingTypeUID = id.isEmpty() ? null : new ThingTypeUID(BINDING_ID, id);
+ if (thingTypeUID != null && getSupportedThingTypes().contains(thingTypeUID)) {
ThingUID thingUID = new ThingUID(thingTypeUID, bridgeHandler.getThing().getUID(),
bridgeHandler.getThingName(device));
onDeviceAddedInternal(thingUID, device);
* @return ThingUID without illegal characters.
*/
public @Nullable ThingUID getThingUID(AVMFritzBaseModel device) {
- ThingTypeUID thingTypeUID = new ThingTypeUID(BINDING_ID, getThingTypeId(device));
+ String id = getThingTypeId(device);
+ ThingTypeUID thingTypeUID = id.isEmpty() ? null : new ThingTypeUID(BINDING_ID, id);
ThingUID bridgeUID = thing.getUID();
String thingName = getThingName(device);
- if (SUPPORTED_BUTTON_THING_TYPES_UIDS.contains(thingTypeUID)
+ if (thingTypeUID != null && (SUPPORTED_BUTTON_THING_TYPES_UIDS.contains(thingTypeUID)
|| SUPPORTED_HEATING_THING_TYPES.contains(thingTypeUID)
- || SUPPORTED_DEVICE_THING_TYPES_UIDS.contains(thingTypeUID)) {
+ || SUPPORTED_DEVICE_THING_TYPES_UIDS.contains(thingTypeUID))) {
return new ThingUID(thingTypeUID, bridgeUID, thingName);
} else if (device.isHeatingThermostat()) {
return new ThingUID(GROUP_HEATING_THING_TYPE, bridgeUID, thingName);