[homeconnectdirect] Dishwasher: Fix selected-program channel shows program keys (#21056)

Instead, it should display the program labels.

Signed-off-by: Florian Hotze <dev@florianhotze.com>
This commit is contained in:
Florian Hotze
2026-06-26 10:14:30 +02:00
committed by GitHub
parent 88c27909bf
commit 213a735f78
@@ -1109,21 +1109,21 @@ public class BaseHomeConnectDirectHandler extends BaseThingHandler implements We
private void updateSelectedProgramDescription() { private void updateSelectedProgramDescription() {
getLinkedChannel(CHANNEL_SELECTED_PROGRAM) getLinkedChannel(CHANNEL_SELECTED_PROGRAM)
.ifPresent(channel -> getDeviceDescriptionServiceOptional().ifPresent(deviceDescriptionService -> { .ifPresent(channel -> getDeviceDescriptionServiceOptional().ifPresent(deviceDescriptionService -> {
List<CommandOption> programOptions = new ArrayList<>(); List<StateOption> stateOptions = new ArrayList<>();
// check if selectedProgram value is writable // check if selectedProgram value is writable
if (deviceDescriptionService.getSelectedProgram(true) != null) { if (deviceDescriptionService.getSelectedProgram(true) != null) {
deviceDescriptionService.getPrograms(true).stream() deviceDescriptionService.getPrograms(true).stream()
.map(command -> new CommandOption(command.key(), getProgramLabel(command.key()))) .map(command -> new StateOption(command.key(), getProgramLabel(command.key())))
.forEach(programOptions::add); .forEach(stateOptions::add);
} else { } else {
var selectedProgram = keyValueStore.get(SELECTED_PROGRAM_KEY); var selectedProgram = keyValueStore.get(SELECTED_PROGRAM_KEY);
if (selectedProgram != null) { if (selectedProgram != null) {
programOptions.add(new CommandOption(selectedProgram, getProgramLabel(selectedProgram))); stateOptions.add(new StateOption(selectedProgram, getProgramLabel(selectedProgram)));
} }
} }
setCommandOptions(channel.getUID(), programOptions); setStateDescriptions(channel.getUID(), stateOptions);
})); }));
} }