Add unit support to sensors

This commit is contained in:
Carl Philipp Klemm 2026-03-29 22:11:10 +02:00
parent 3e0ba165e8
commit 37c0c5d17b
12 changed files with 73 additions and 41 deletions

View file

@ -126,6 +126,7 @@ void Item::store(QJsonObject &json)
}
}
json["Actors"] = actorsArray;
json["ValueType"] = type_;
}
void Item::load(const QJsonObject &json, const bool preserve)
@ -249,30 +250,22 @@ void Item::mergeLoaded(Item& item)
std::shared_ptr<Item> Item::loadItem(const QJsonObject& json)
{
std::shared_ptr<Item> newItem = nullptr;
if(json["Type"].toString("") == "Relay")
{
if(json["Type"].toString("Item") == "Item")
newItem = std::shared_ptr<Item>(new Item);
else if(json["Type"].toString("") == "Relay")
newItem = std::shared_ptr<Relay>(new Relay);
}
else if(json["Type"].toString("") == "Message")
{
newItem = std::shared_ptr<MessageItem>(new MessageItem);
}
else if(json["Type"].toString("") == "System")
{
newItem = std::shared_ptr<SystemItem>(new SystemItem);
}
else if(json["Type"].toString("") == "Aux")
{
newItem = std::shared_ptr<AuxItem>(new AuxItem);
}
else if(json["Type"].toString("") == "Power")
{
newItem = std::shared_ptr<PowerItem>(new PowerItem);
}
else if(json["Type"].toString("") == "Rgb")
{
newItem = std::shared_ptr<RgbItem>(new RgbItem);
}
else
qWarning()<<"Unable to load unkown item type: "<<json["Type"].toString();
if(newItem)
{
newItem->load(json);

View file

@ -9,8 +9,10 @@ ItemStore::ItemStore(QObject *parent): QObject(parent)
void ItemStore::addItem(std::shared_ptr<Item> item, bool inform)
{
std::shared_ptr<Item> matched = nullptr;
qDebug()<<"referance"<<item->id();
for(unsigned i = 0; i < items_.size(); i++ )
{
qDebug()<<"avail"<<items_[i]->id();
if(*items_[i] == *item)
{
matched = items_[i];