mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[modbus] Improve error message if data thing is configured for reading but not connected to a polling bridge. (#16054)
Signed-off-by: Markus Minichmayr <markus@minichmayr.net>
This commit is contained in:
parent
4f84c48b21
commit
03b7b1dbac
@ -423,8 +423,7 @@ public class ModbusDataThingHandler extends BaseThingHandler {
|
||||
childOfEndpoint = true;
|
||||
functionCode = null;
|
||||
readRequest = null;
|
||||
} else {
|
||||
ModbusPollerThingHandler localPollerHandler = (ModbusPollerThingHandler) bridgeHandler;
|
||||
} else if (bridgeHandler instanceof ModbusPollerThingHandler localPollerHandler) {
|
||||
pollerHandler = localPollerHandler;
|
||||
ModbusReadRequestBlueprint localReadRequest = localPollerHandler.getRequest();
|
||||
if (localReadRequest == null) {
|
||||
@ -441,7 +440,12 @@ public class ModbusDataThingHandler extends BaseThingHandler {
|
||||
comms = localPollerHandler.getCommunicationInterface();
|
||||
pollStart = localReadRequest.getReference();
|
||||
childOfEndpoint = false;
|
||||
} else {
|
||||
String errmsg = String.format("Thing %s is connected to an unsupported type of bridge.",
|
||||
getThing().getUID());
|
||||
throw new ModbusConfigurationException(errmsg);
|
||||
}
|
||||
|
||||
validateAndParseReadParameters(localConfig);
|
||||
validateAndParseWriteParameters(localConfig);
|
||||
validateMustReadOrWrite();
|
||||
@ -513,8 +517,8 @@ public class ModbusDataThingHandler extends BaseThingHandler {
|
||||
if (childOfEndpoint && readRequest == null) {
|
||||
if (!readStartMissing || !readValueTypeMissing) {
|
||||
String errmsg = String.format(
|
||||
"Thing %s readStart=%s, and readValueType=%s were specified even though the data thing is child of endpoint (that is, write-only)!",
|
||||
getThing().getUID(), config.getReadStart(), config.getReadValueType());
|
||||
"Thing %s was configured for reading (readStart and/or readValueType specified) but the parent is not a polling bridge. Consider using a bridge of type 'Regular Poll'.",
|
||||
getThing().getUID());
|
||||
throw new ModbusConfigurationException(errmsg);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user