You probably need to set a proper status in your initialize() method:
if (device with key) {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Please provide key");
} else if (device without key) {
updateStatus(ThingStatus.ONLINE);
}
When I changed required=“false” to required=“true” that’s when paperui will say HANDLER_CONFIGURATION_PENDING because it doesn’t have all the required parameters defined.
I’ve just tried using <required>true</required> instead, and the result is the same, HANDLER_CONFIGURATION_ERROR.
I still don’t quite understand your issue. If you are the binding’s developer you should take a look at your device Handler. Every error you’ve mentioned is probably produced by the initialize() method of the Handler. It’s there you should check whether your device requires a key (thus throwing HANDLER_CONFIGURATION_PENDING) or not (thus going ONLINE). If you can’t change your Java side, you can’t get far.
Is your project somewhere on GitHub? If so, we should not clutter this forum and move there instead.