[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;
|
break;
|
||||||
case CHANNEL_VOLUMEDB:
|
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());
|
localSyncVolume = Boolean.parseBoolean(getThing().getConfiguration().get("syncVolume").toString());
|
||||||
if (localSyncVolume == Boolean.TRUE) {
|
if (localSyncVolume == Boolean.TRUE) {
|
||||||
tmpString = getDistributionInfo(this.host);
|
tmpString = getDistributionInfo(this.host);
|
||||||
@ -238,7 +247,7 @@ public class YamahaMusiccastHandler extends BaseThingHandler {
|
|||||||
if ("server".equals(localRole)) {
|
if ("server".equals(localRole)) {
|
||||||
for (JsonElement ip : distributioninfo.getClientList()) {
|
for (JsonElement ip : distributioninfo.getClientList()) {
|
||||||
JsonObject clientObject = ip.getAsJsonObject();
|
JsonObject clientObject = ip.getAsJsonObject();
|
||||||
setVolumeDbLinkedDevice(((DecimalType) command).floatValue(), zone,
|
setVolumeDbLinkedDevice(volumeDb, zone,
|
||||||
clientObject.get("ip_address").getAsString());
|
clientObject.get("ip_address").getAsString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user