diff --git a/src/sensors/mqttsensorsource.cpp b/src/sensors/mqttsensorsource.cpp index 9dab556..6d25e8f 100644 --- a/src/sensors/mqttsensorsource.cpp +++ b/src/sensors/mqttsensorsource.cpp @@ -191,6 +191,14 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message) sensor.field = obj["voltage"].toDouble(0); stateChanged(sensor, SENSOR_UPDATE_BACKEND); } + + if(obj.contains("soil_moisture")) + { + sensor.name = baseName + " Soil Moisture"; + sensor.type = Sensor::TYPE_SOIL_MOISTURE; + sensor.field = obj["soil_moisture"].toDouble(0); + stateChanged(sensor, SENSOR_UPDATE_BACKEND); + } } } diff --git a/src/sensors/sensor.h b/src/sensors/sensor.h index 86d79db..0ed9fee 100644 --- a/src/sensors/sensor.h +++ b/src/sensors/sensor.h @@ -25,6 +25,7 @@ public: TYPE_ENERGY_USE, TYPE_POWER, TYPE_VOLTAGE, + TYPE_SOIL_MOISTURE, TYPE_LOWBATTERY = 128, TYPE_SHUTDOWN_IMMINENT = 251, TYPE_OCUPANCY, @@ -143,6 +144,7 @@ public: case TYPE_TEMPERATURE: return "°C"; case TYPE_HUMIDITY: + case TYPE_SOIL_MOISTURE: return "%"; case TYPE_PRESSURE: return "hPa";