diff --git a/libnymea-core/devices/devicemanagerimplementation.cpp b/libnymea-core/devices/devicemanagerimplementation.cpp index eb055792..f49f56c3 100644 --- a/libnymea-core/devices/devicemanagerimplementation.cpp +++ b/libnymea-core/devices/devicemanagerimplementation.cpp @@ -1417,8 +1417,8 @@ void DeviceManagerImplementation::onEventTriggered(const Event &event) { // Doing some sanity checks here... Device *device = m_configuredDevices.value(event.deviceId()); - if (!device || !m_configuredDevices.contains(device->id())) { - qCWarning(dcDeviceManager()) << "Invalid device id in emitted event. Not forwarding event."; + if (!device) { + qCWarning(dcDeviceManager()) << "Invalid device id in emitted event. Not forwarding event. Device setup not complete yet?"; return; } EventType eventType = device->deviceClass().eventTypes().findById(event.eventTypeId()); @@ -1433,7 +1433,8 @@ void DeviceManagerImplementation::onEventTriggered(const Event &event) void DeviceManagerImplementation::slotDeviceStateValueChanged(const StateTypeId &stateTypeId, const QVariant &value) { Device *device = qobject_cast(sender()); - if (!device) { + if (!device || !m_configuredDevices.contains(device->id())) { + qCWarning(dcDeviceManager()) << "Invalid device id in state change. Not forwarding event. Device setup not complete yet?"; return; } emit deviceStateChanged(device, stateTypeId, value);