Support different Sensor update types
This commit is contained in:
parent
ff07551a59
commit
09f7e55b4e
20 changed files with 258 additions and 41 deletions
|
|
@ -39,6 +39,7 @@ MqttSensorSource::SensorSubscription& MqttSensorSource::findSubscription(const Q
|
|||
return sensor;
|
||||
}
|
||||
assert(false);
|
||||
return sensors.front();
|
||||
}
|
||||
|
||||
void MqttSensorSource::onClientStateChanged(QMqttClient::ClientState state)
|
||||
|
|
@ -81,7 +82,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " Temperature";
|
||||
sensor.type = Sensor::TYPE_TEMPERATURE;
|
||||
sensor.field = obj["temperature"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("local_temperature"))
|
||||
|
|
@ -89,7 +90,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " Temperature";
|
||||
sensor.type = Sensor::TYPE_TEMPERATURE;
|
||||
sensor.field = obj["local_temperature"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("humidity"))
|
||||
|
|
@ -97,7 +98,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " Humidity";
|
||||
sensor.type = Sensor::TYPE_HUMIDITY;
|
||||
sensor.field = obj["humidity"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("illuminance"))
|
||||
|
|
@ -105,7 +106,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " Illuminance";
|
||||
sensor.type = Sensor::TYPE_BRIGHTNESS;
|
||||
sensor.field = obj["illuminance"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("presence"))
|
||||
|
|
@ -113,7 +114,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " Presence";
|
||||
sensor.type = Sensor::TYPE_OCUPANCY;
|
||||
sensor.field = obj["presence"].toBool() ? 1 : 0;
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("co2"))
|
||||
|
|
@ -121,7 +122,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " co2";
|
||||
sensor.type = Sensor::TYPE_CO2;
|
||||
sensor.field = obj["co2"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("formaldehyd"))
|
||||
|
|
@ -129,7 +130,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " Formaldehyd";
|
||||
sensor.type = Sensor::TYPE_FORMALDEHYD;
|
||||
sensor.field = obj["formaldehyd"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("pm25"))
|
||||
|
|
@ -137,7 +138,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " pm25";
|
||||
sensor.type = Sensor::TYPE_PM25;
|
||||
sensor.field = obj["pm25"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("voc"))
|
||||
|
|
@ -145,7 +146,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " VOC";
|
||||
sensor.type = Sensor::TYPE_TOTAL_VOC;
|
||||
sensor.field = obj["voc"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("power"))
|
||||
|
|
@ -153,7 +154,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " Power";
|
||||
sensor.type = Sensor::TYPE_POWER;
|
||||
sensor.field = obj["power"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("energy"))
|
||||
|
|
@ -161,7 +162,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " Energy";
|
||||
sensor.type = Sensor::TYPE_ENERGY_USE;
|
||||
sensor.field = obj["energy"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
|
||||
if(obj.contains("voltage"))
|
||||
|
|
@ -169,7 +170,7 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
|
|||
sensor.name = baseName + " Voltage";
|
||||
sensor.type = Sensor::TYPE_VOLTAGE;
|
||||
sensor.field = obj["voltage"].toDouble(0);
|
||||
stateChanged(sensor);
|
||||
stateChanged(sensor, SENSOR_UPDATE_BACKEND);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue