diff --git a/libnymea-core/hardwaremanagerimplementation.cpp b/libnymea-core/hardwaremanagerimplementation.cpp index 0222c86f..8d19558c 100644 --- a/libnymea-core/hardwaremanagerimplementation.cpp +++ b/libnymea-core/hardwaremanagerimplementation.cpp @@ -142,4 +142,9 @@ ZigbeeHardwareResource *HardwareManagerImplementation::zigbeeResource() return m_zigbeeResource; } +void HardwareManagerImplementation::thingsLoaded() +{ + m_zigbeeResource->thingsLoaded(); +} + } diff --git a/libnymea-core/hardwaremanagerimplementation.h b/libnymea-core/hardwaremanagerimplementation.h index 9e807803..8a67e54e 100644 --- a/libnymea-core/hardwaremanagerimplementation.h +++ b/libnymea-core/hardwaremanagerimplementation.h @@ -42,6 +42,7 @@ namespace nymeaserver { class Platform; class MqttBroker; class ZigbeeManager; +class ZigbeeHardwareResourceImplementation; class HardwareManagerImplementation : public HardwareManager { @@ -61,6 +62,9 @@ public: I2CManager *i2cManager() override; ZigbeeHardwareResource *zigbeeResource() override; +public slots: + void thingsLoaded(); + private: QNetworkAccessManager *m_networkAccessManager = nullptr; @@ -74,7 +78,7 @@ private: BluetoothLowEnergyManager *m_bluetoothLowEnergyManager = nullptr; MqttProvider *m_mqttProvider = nullptr; I2CManager *m_i2cManager = nullptr; - ZigbeeHardwareResource *m_zigbeeResource = nullptr; + ZigbeeHardwareResourceImplementation *m_zigbeeResource = nullptr; }; } diff --git a/libnymea-core/nymeacore.cpp b/libnymea-core/nymeacore.cpp index bf3be374..6bedb8c9 100644 --- a/libnymea-core/nymeacore.cpp +++ b/libnymea-core/nymeacore.cpp @@ -824,6 +824,9 @@ void NymeaCore::thingManagerLoaded() // Evaluate rules on current time onDateTimeChanged(m_timeManager->currentDateTime()); + // Tell zigbee we're done with loading stuff... + m_hardwareManager->thingsLoaded(); + emit initialized(); // Do some houskeeping...