Add groups to the sensors

This commit is contained in:
Carl Philipp Klemm 2026-04-21 17:17:56 +02:00
parent 2fbfd1d458
commit 221cb519a2
6 changed files with 68 additions and 5 deletions

View file

@ -33,6 +33,29 @@ void SensorStore::load(const QJsonObject& json)
}
}
std::vector<QString> SensorStore::allGroups() const
{
std::vector<QString> groups;
for(const Sensor& sensor : sensors_)
{
if(!sensor.groupName.isEmpty())
{
bool found = false;
for(const QString& group : groups)
{
if(group == sensor.groupName)
{
found = true;
break;
}
}
if(!found)
groups.push_back(sensor.groupName);
}
}
return groups;
}
void SensorStore::sensorGotState(const Sensor& sensor, sensor_update_type_t type)
{
bool inSensors = false;
@ -48,6 +71,7 @@ void SensorStore::sensorGotState(const Sensor& sensor, sensor_update_type_t type
{
sensors_[i].name = sensor.name;
sensors_[i].hidden = sensor.hidden;
sensors_[i].groupName = sensor.groupName;
// Also update knownSensors_
for(Sensor& known : knownSensors_)
{
@ -55,6 +79,7 @@ void SensorStore::sensorGotState(const Sensor& sensor, sensor_update_type_t type
{
known.name = sensor.name;
known.hidden = sensor.hidden;
known.groupName = sensor.groupName;
break;
}
}
@ -76,6 +101,7 @@ void SensorStore::sensorGotState(const Sensor& sensor, sensor_update_type_t type
{
newSensor.name = known.name;
newSensor.hidden = known.hidden;
newSensor.groupName = known.groupName;
break;
}
}