From b9fbd3a90990c43cdbed11a11e2b35d59351e115 Mon Sep 17 00:00:00 2001 From: Micke Prag Date: Wed, 26 Oct 2011 15:55:03 +0200 Subject: [PATCH] Add function com.telldus.core.sensorValue() to script as wrapper for tdSensorValue(). See #96 --- .../Plugins/TelldusCore/tellduscoreobject.cpp | 13 +++++++++++++ telldus-gui/Plugins/TelldusCore/tellduscoreobject.h | 1 + 2 files changed, 14 insertions(+) diff --git a/telldus-gui/Plugins/TelldusCore/tellduscoreobject.cpp b/telldus-gui/Plugins/TelldusCore/tellduscoreobject.cpp index 704e9138..3362fb8b 100644 --- a/telldus-gui/Plugins/TelldusCore/tellduscoreobject.cpp +++ b/telldus-gui/Plugins/TelldusCore/tellduscoreobject.cpp @@ -1,4 +1,5 @@ #include "tellduscoreobject.h" +#include #include TelldusCoreObject::TelldusCoreObject( QObject * parent ) @@ -123,6 +124,18 @@ QVariant TelldusCoreObject::sensor() const { return retval; } +QVariant TelldusCoreObject::sensorValue(const QString &protocol, const QString &model, int id, int dataType) const { + const int DATA_LENGTH = 20; + char value[DATA_LENGTH]; + time_t timestamp = 0; + + tdSensorValue(protocol.toUtf8(), model.toUtf8(), id, dataType, value, DATA_LENGTH, (int *)×tamp); + QVariantMap retval; + retval["value"] = value; + retval["timestamp"] = QDateTime::fromTime_t(timestamp); + return retval; +} + void TelldusCoreObject::triggerError(int deviceId, int errorId) { char *errorString = tdGetErrorString( errorId ); QString message = QString::fromUtf8( errorString ); diff --git a/telldus-gui/Plugins/TelldusCore/tellduscoreobject.h b/telldus-gui/Plugins/TelldusCore/tellduscoreobject.h index 6ccfa17f..98a7f842 100644 --- a/telldus-gui/Plugins/TelldusCore/tellduscoreobject.h +++ b/telldus-gui/Plugins/TelldusCore/tellduscoreobject.h @@ -29,6 +29,7 @@ public slots: int methods( int deviceId, int methodsSupported ); QVariant sensor() const; + QVariant sensorValue(const QString &protocol, const QString &model, int id, int dataType) const; int turnOn( int deviceId ); int turnOff( int deviceId );