UvosSmartHomeInterface/src/items/poweritem.cpp
2026-03-31 13:06:15 +02:00

35 lines
804 B
C++

#include "poweritem.h"
#include <QProcess>
#include <QApplication>
#include <QDebug>
PowerItem::PowerItem(uint32_t itemIdIn, QString name, uint8_t value, QObject* parent):
Item(itemIdIn, name, value, parent)
{
stateChanged(Sensor(Sensor::TYPE_SHUTDOWN_IMMINENT, 0, 0, "Shutdown Imminent", true));
value_ = true;
hidden_ = true;
type_ = ITEM_VALUE_NO_VALUE;
}
void PowerItem::enactValue(uint8_t value)
{
if(!value)
{
qDebug()<<"shutdown";
QTimer::singleShot(5000, this, &PowerItem::timeout);
stateChanged(Sensor(Sensor::TYPE_SHUTDOWN_IMMINENT, 0, 1, "Shutdown Imminent", true));
}
}
void PowerItem::timeout()
{
qDebug()<<"shutdown timeout";
QProcess::startDetached("syncoff", QStringList());
}
void PowerItem::store(QJsonObject& json)
{
json["Type"] = "Power";
Item::store(json);
}