Add support for mqtt sensors

This commit is contained in:
Carl Philipp Klemm 2026-03-27 17:47:09 +01:00
parent d6c8d799e3
commit e3b6d5c3a6
7 changed files with 251 additions and 5 deletions

View file

@ -81,6 +81,7 @@ PrimaryMainObject::PrimaryMainObject(QIODevice* microDevice, const QString& sett
connect(tcpServer, &TcpServer::gotSensor, &globalSensors, &SensorStore::sensorGotState);
connect(&sunSensorSource, &SunSensorSource::stateChanged, &globalSensors, &SensorStore::sensorGotState);
connect(&micro, &Microcontroller::gotSensorState, &globalSensors, &SensorStore::sensorGotState);
connect(&mqttSensorSource, &MqttSensorSource::stateChanged, &globalSensors, &SensorStore::sensorGotState);
sunSensorSource.run();
@ -93,6 +94,9 @@ PrimaryMainObject::PrimaryMainObject(QIODevice* microDevice, const QString& sett
loadFromDisk(settingsPath);
QJsonObject mqttJson = settings["Mqtt"].toObject();
mqttSensorSource.start(mqttJson);
tcpServer->launch(QHostAddress(host), port);
connect(&globalItems, &ItemStore::itemUpdated, tcpServer, &TcpServer::itemUpdated);
}
@ -105,6 +109,9 @@ PrimaryMainObject::~PrimaryMainObject()
void PrimaryMainObject::store(QJsonObject &json)
{
globalItems.store(json);
QJsonObject mqttJson = json["Mqtt"].toObject();
mqttSensorSource.store(mqttJson);
json["Mqtt"] = mqttJson;
}
void PrimaryMainObject::load(const QJsonObject& json)