diff --git a/libnymea-core/devices/devicemanagerimplementation.cpp b/libnymea-core/devices/devicemanagerimplementation.cpp index c5bddccc..91ee8f5f 100644 --- a/libnymea-core/devices/devicemanagerimplementation.cpp +++ b/libnymea-core/devices/devicemanagerimplementation.cpp @@ -1207,6 +1207,13 @@ void DeviceManagerImplementation::loadConfiguredDevices() } } DeviceUtils::verifyParams(deviceClass.settingsTypes(), deviceSettings); + // Make sure all settings are around. if they aren't initialize with default values + foreach (const ParamType &settingsType, deviceClass.settingsTypes()) { + if (!deviceSettings.hasParam(settingsType.id())) { + deviceSettings.append(Param(settingsType.id(), settingsType.defaultValue().isValid() ? settingsType.defaultValue() : "")); + } + } + device->setSettings(deviceSettings); settings.endGroup(); // Settings