Support power, engery and voltage sensors in sensors and mqtt

This commit is contained in:
Carl Philipp Klemm 2026-04-17 18:30:43 +02:00
parent 3794e0031b
commit be303aa851
2 changed files with 33 additions and 0 deletions

View file

@ -147,6 +147,30 @@ void MqttSensorSource::onMessageReceived(const QMqttMessage& message)
sensor.field = obj["voc"].toDouble(0); sensor.field = obj["voc"].toDouble(0);
stateChanged(sensor); stateChanged(sensor);
} }
if(obj.contains("power"))
{
sensor.name = baseName + " Power";
sensor.type = Sensor::TYPE_POWER;
sensor.field = obj["Power"].toDouble(0);
stateChanged(sensor);
}
if(obj.contains("energy"))
{
sensor.name = baseName + " Energy";
sensor.type = Sensor::TYPE_ENERGY_USE;
sensor.field = obj["energy"].toDouble(0);
stateChanged(sensor);
}
if(obj.contains("voltage"))
{
sensor.name = baseName + " Voltage";
sensor.type = Sensor::TYPE_VOLTAGE;
sensor.field = obj["voltage"].toDouble(0);
stateChanged(sensor);
}
} }
} }

View file

@ -22,6 +22,9 @@ public:
TYPE_FORMALDEHYD, TYPE_FORMALDEHYD,
TYPE_PM25, TYPE_PM25,
TYPE_TOTAL_VOC, TYPE_TOTAL_VOC,
TYPE_ENERGY_USE,
TYPE_POWER,
TYPE_VOLTAGE,
TYPE_LOWBATTERY = 128, TYPE_LOWBATTERY = 128,
TYPE_SHUTDOWN_IMMINENT = 251, TYPE_SHUTDOWN_IMMINENT = 251,
TYPE_OCUPANCY, TYPE_OCUPANCY,
@ -145,6 +148,12 @@ public:
return "ppb"; return "ppb";
case TYPE_SUN_ALTITUDE: case TYPE_SUN_ALTITUDE:
return "°"; return "°";
case TYPE_POWER:
return "W";
case TYPE_ENERGY_USE:
return "kWh";
case TYPE_VOLTAGE:
return "V";
default: default:
return ""; return "";
} }