Sensors: simplfy sensor update logic
This commit is contained in:
parent
90f4538200
commit
e52de7de50
1 changed files with 3 additions and 24 deletions
|
|
@ -7,8 +7,6 @@ SensorStore globalSensors;
|
|||
|
||||
SensorStore::SensorStore(QObject *parent): QObject(parent)
|
||||
{
|
||||
sensors_.push_back(Sensor(Sensor::TYPE_DOOR,1,0,"Front door"));
|
||||
sensors_.push_back(Sensor(Sensor::TYPE_DOOR,0,0,"Bedroom door"));
|
||||
}
|
||||
|
||||
void SensorStore::store(QJsonObject& json)
|
||||
|
|
@ -69,7 +67,7 @@ void SensorStore::sensorGotState(const Sensor& sensor, sensor_update_type_t type
|
|||
sensors_[i].updateSeen();
|
||||
bool needsUpdate = false;
|
||||
|
||||
if(type == SENSOR_UPDATE_USER)
|
||||
if(type == SENSOR_UPDATE_USER || type == SENSOR_UPDATE_REMOTE)
|
||||
{
|
||||
if(sensors_[i].name != sensor.name || sensors_[i].hidden != sensor.hidden || sensors_[i].groupName != sensor.groupName)
|
||||
{
|
||||
|
|
@ -88,27 +86,8 @@ void SensorStore::sensorGotState(const Sensor& sensor, sensor_update_type_t type
|
|||
}
|
||||
needsUpdate = true;
|
||||
}
|
||||
}
|
||||
else if(type == SENSOR_UPDATE_REMOTE)
|
||||
{
|
||||
if(sensors_[i].name != sensor.name || sensors_[i].hidden != sensor.hidden || sensors_[i].groupName != sensor.groupName)
|
||||
{
|
||||
sensors_[i].name = sensor.name;
|
||||
sensors_[i].hidden = sensor.hidden;
|
||||
sensors_[i].groupName = sensor.groupName;
|
||||
for(Sensor& known : knownSensors_)
|
||||
{
|
||||
if(sensor.type == known.type && sensor.id == known.id)
|
||||
{
|
||||
known.name = sensor.name;
|
||||
known.hidden = sensor.hidden;
|
||||
known.groupName = sensor.groupName;
|
||||
break;
|
||||
}
|
||||
}
|
||||
needsUpdate = true;
|
||||
}
|
||||
if(sensors_[i].field != sensor.field)
|
||||
|
||||
if(sensors_[i].field != sensor.field && type == SENSOR_UPDATE_REMOTE)
|
||||
{
|
||||
needsUpdate = true;
|
||||
sensors_[i].field = sensor.field;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue