mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-25 14:55:55 +01:00
[yamahamusiccast] Fix DecimalType commands for volumeDB channel (#15124)
* [yamahamusiccast] Fix volumeDB channel doesn't accept DecimalType and QuantityType commands Signed-off-by: Florian Hotze <florianh_dev@icloud.com>
This commit is contained in:
parent
d62c006c47
commit
6dff1ffa63
@ -228,7 +228,16 @@ public class YamahaMusiccastHandler extends BaseThingHandler {
|
||||
}
|
||||
break;
|
||||
case CHANNEL_VOLUMEDB:
|
||||
setVolumeDb(((QuantityType<?>) command).floatValue(), zone, this.host);
|
||||
float volumeDb;
|
||||
if (command instanceof QuantityType<?> qt) {
|
||||
volumeDb = qt.toUnit(Units.DECIBEL).floatValue();
|
||||
} else if (command instanceof DecimalType dt) {
|
||||
volumeDb = dt.floatValue();
|
||||
} else {
|
||||
logger.debug("Command has wrong type, QuantityType or DecimalType required!");
|
||||
return;
|
||||
}
|
||||
setVolumeDb(volumeDb, zone, this.host);
|
||||
localSyncVolume = Boolean.parseBoolean(getThing().getConfiguration().get("syncVolume").toString());
|
||||
if (localSyncVolume == Boolean.TRUE) {
|
||||
tmpString = getDistributionInfo(this.host);
|
||||
@ -238,7 +247,7 @@ public class YamahaMusiccastHandler extends BaseThingHandler {
|
||||
if ("server".equals(localRole)) {
|
||||
for (JsonElement ip : distributioninfo.getClientList()) {
|
||||
JsonObject clientObject = ip.getAsJsonObject();
|
||||
setVolumeDbLinkedDevice(((DecimalType) command).floatValue(), zone,
|
||||
setVolumeDbLinkedDevice(volumeDb, zone,
|
||||
clientObject.get("ip_address").getAsString());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user