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);
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_PM25,
TYPE_TOTAL_VOC,
TYPE_ENERGY_USE,
TYPE_POWER,
TYPE_VOLTAGE,
TYPE_LOWBATTERY = 128,
TYPE_SHUTDOWN_IMMINENT = 251,
TYPE_OCUPANCY,
@ -145,6 +148,12 @@ public:
return "ppb";
case TYPE_SUN_ALTITUDE:
return "°";
case TYPE_POWER:
return "W";
case TYPE_ENERGY_USE:
return "kWh";
case TYPE_VOLTAGE:
return "V";
default:
return "";
}