JsonReply *DeviceHandler::GetDiscoveredDevices(const QVariantMap ¶ms) const { QVariantMap returns; DeviceClassId deviceClassId = DeviceClassId(params.value("deviceClassId").toString()); ParamList discoveryParams = JsonTypes::unpackParams(params.value("discoveryParams").toList()); DeviceManager::DeviceError status = GuhCore::instance()->discoverDevices(deviceClassId, discoveryParams); if (status == DeviceManager::DeviceErrorAsync ) { JsonReply *reply = createAsyncReply("GetDiscoveredDevices"); m_discoverRequests.insert(deviceClassId, reply); return reply; } returns.insert("deviceError", JsonTypes::deviceErrorToString(status)); return createReply(returns); }
will be created automatically. \quotefile plugins/deviceplugins/lircd/devicepluginlircd.json */ #include "devicepluginlircd.h" #include "plugin/device.h" #include "devicemanager.h" #include "plugininfo.h" #include "lircdclient.h" #include <QDebug> #include <QStringList> DeviceClassId lircdDeviceClassId = DeviceClassId("5c2bc4cd-ba6c-4052-b6cd-1db83323ea22"); EventTypeId LircKeypressEventTypeId = EventTypeId("8711471a-fa0e-410b-b174-dfc3d2aeffb1"); DevicePluginLircd::DevicePluginLircd() { m_lircClient = new LircClient(this); //m_lircClient->connect(); connect(m_lircClient, &LircClient::buttonPressed, this, &DevicePluginLircd::buttonPressed); } DeviceManager::HardwareResources DevicePluginLircd::requiredHardware() const { return DeviceManager::HardwareResourceNone; }
\li Magnet Sensor \row \li PIR-5000 \li Moving Sensor \endtable */ #include "devicepluginintertechno.h" #include "plugin/device.h" #include "devicemanager.h" #include <QDebug> #include <QStringList> DeviceClassId intertechnoRemote = DeviceClassId("ab73ad2f-6594-45a3-9063-8f72d365c5e5"); DeviceClassId intertechnoSwitch = DeviceClassId("324219e8-7c53-41b5-b314-c2900cd15252"); DevicePluginIntertechno::DevicePluginIntertechno() { } DeviceManager::HardwareResources DevicePluginIntertechno::requiredHardware() const { return DeviceManager::HardwareResourceRadio433; } DeviceManager::DeviceError DevicePluginIntertechno::executeAction(Device *device, const Action &action) { QList<int> rawData;
\endtable */ #include "devicepluginmailnotification.h" #include "plugin/device.h" #include "devicemanager.h" #include <QDebug> #include <QJsonDocument> #include <QVariantMap> #include <QDateTime> DeviceClassId googleMailDeviceClassId = DeviceClassId("3869884a-1592-4b8f-84a7-994be18ff555"); DeviceClassId yahooMailDeviceClassId = DeviceClassId("59409e8f-0c83-414f-abd5-bbbf2758acba"); DeviceClassId customMailDeviceClassId = DeviceClassId("f4844c97-7ca6-4349-904e-ff9749a9fe74"); ActionTypeId sendMailActionTypeId = ActionTypeId("054613b0-3666-4dad-9252-e0ebca187edc"); DevicePluginMailNotification::DevicePluginMailNotification() { } DevicePluginMailNotification::~DevicePluginMailNotification() { } DeviceManager::DeviceSetupStatus DevicePluginMailNotification::setupDevice(Device *device) {
\li With this action you can switch WeMo ON (true) or OFF (false). \li 269f25eb-d0b7-4144-b9ef-801f4ff3e90c \endtable */ #include "deviceplugineq-3.h" #include "plugin/device.h" #include "devicemanager.h" #include "types/param.h" #include <QDebug> DeviceClassId cubeDeviceClassId = DeviceClassId("1e892268-8bd7-442c-a001-bd4e2e6b2949"); StateTypeId connectionStateTypeId = StateTypeId("d0a9a369-cf8c-47c4-a12e-f2d076bf12fd"); StateTypeId portalEnabeldStateTypeId = StateTypeId("2c2367da-c229-40ed-9d47-a6e73cd6dc3b"); DeviceClassId wallThermostateDeviceClassId = DeviceClassId("ffbfec5d-06e8-4082-b62b-92cc5c3e8c4e"); StateTypeId confortTempStateTypeId = StateTypeId("850380ee-a787-43e7-adb8-768a21a6e64d"); StateTypeId ecoTempStateTypeId = StateTypeId("24dfd20d-bc8d-48e4-8162-b20ae0465c41"); StateTypeId maxSetpointTempStateTypeId = StateTypeId("a8536ddf-a6e4-41c2-89c1-e7102608f5f6"); StateTypeId minSetpointTempStateTypeId = StateTypeId("ceb0ad05-37ad-4b79-a4d9-540c34a7e3e4"); StateTypeId errorOccuredStateTypeId = StateTypeId("9880247b-cf9a-453c-b0c3-d910eba8a253"); StateTypeId initializedStateTypeId = StateTypeId("a9e29f03-063e-4686-8aac-2f6d8f8a4937"); StateTypeId batteryLowStateTypeId = StateTypeId("53b89f32-8894-4290-92a0-6a470c6b69ab"); StateTypeId linkStatusOKStateTypeId = StateTypeId("aff38be8-7ea6-4fd8-b0fa-e987ab05c719"); StateTypeId panelLockedStateTypeId = StateTypeId("979df197-09a1-46f9-9217-9d323b1062bd"); StateTypeId gatewayKnownStateTypeId = StateTypeId("1d6bd962-5c31-47ad-80a4-dda87bff98f5");