From 56c173cb63c677de6683f87f683e297aad4ce83d Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Mon, 4 Nov 2019 14:39:06 +0100 Subject: [PATCH 1/4] Make it build with api changes --- debian/control | 2 +- networkdetector/devicepluginnetworkdetector.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index 8cedb1a3..1840e055 100644 --- a/debian/control +++ b/debian/control @@ -4,7 +4,7 @@ Priority: options Maintainer: Michael Zanetti Build-depends: libboblight-dev, debhelper (>= 0.0.0), - libnymea1-dev, + libnymea1-dev (>= 0.17), libnymea-mqtt-dev, libqt5serialport5-dev, libqt5websockets5-dev, diff --git a/networkdetector/devicepluginnetworkdetector.cpp b/networkdetector/devicepluginnetworkdetector.cpp index 7fd460a9..fbc7ece7 100644 --- a/networkdetector/devicepluginnetworkdetector.cpp +++ b/networkdetector/devicepluginnetworkdetector.cpp @@ -146,7 +146,7 @@ void DevicePluginNetworkDetector::deviceAddressChanged(const QString &address) Device *device = m_monitors.value(monitor); if (device->paramValue(networkDeviceDeviceAddressParamTypeId).toString() != address) { qCDebug(dcNetworkDetector()) << "Device" << device->name() << device->paramValue(networkDeviceDeviceMacAddressParamTypeId).toString() << "changed IP address to" << address; - device->setParamValue(networkDeviceDeviceAddressParamTypeId.toString(), address); + device->setParamValue(networkDeviceDeviceAddressParamTypeId, address); } } From a5e37670db3024e7d65fb916ec921ae5d07ee486 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Fri, 8 Nov 2019 12:39:33 +0100 Subject: [PATCH 2/4] Add A simulated device for the barcodescanner interface --- simulation/devicepluginsimulation.cpp | 24 +++++++++++++++++++++++- simulation/devicepluginsimulation.json | 22 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/simulation/devicepluginsimulation.cpp b/simulation/devicepluginsimulation.cpp index 46a14987..18a62037 100644 --- a/simulation/devicepluginsimulation.cpp +++ b/simulation/devicepluginsimulation.cpp @@ -61,7 +61,8 @@ void DevicePluginSimulation::setupDevice(DeviceSetupInfo *info) device->deviceClassId() == extendedBlindDeviceClassId || device->deviceClassId() == rollerShutterDeviceClassId || device->deviceClassId() == fingerPrintSensorDeviceClassId || - device->deviceClassId() == thermostatDeviceClassId) { + device->deviceClassId() == thermostatDeviceClassId || + device->deviceClassId() == barcodeScannerDeviceClassId) { m_simulationTimers.insert(device, new QTimer(device)); connect(m_simulationTimers[device], &QTimer::timeout, this, &DevicePluginSimulation::simulationTimerTimeout); } @@ -704,5 +705,26 @@ void DevicePluginSimulation::simulationTimerTimeout() } else if (device->deviceClassId() == thermostatDeviceClassId) { device->setStateValue(thermostatBoostStateTypeId, false); t->stop(); + } else if (device->deviceClassId() == barcodeScannerDeviceClassId) { + QString code; + int codeIndex = device->property("codeIndex").toInt(); + switch (codeIndex) { + case 0: + code = "12345"; + device->setProperty("codeIndex", 1); + break; + case 1: + code = "23456"; + device->setProperty("codeIndex", 2); + break; + default: + code = "34567"; + device->setProperty("codeIndex", 0); + break; + } + + ParamList params = ParamList() << Param(barcodeScannerCodeScannedEventContentParamTypeId, code); + Event event(barcodeScannerCodeScannedEventTypeId, device->id(), params); + emit emitEvent(event); } } diff --git a/simulation/devicepluginsimulation.json b/simulation/devicepluginsimulation.json index a174e2a1..7926bd03 100644 --- a/simulation/devicepluginsimulation.json +++ b/simulation/devicepluginsimulation.json @@ -1017,6 +1017,28 @@ "writable": true } ] + }, + { + "id": "672d68ac-c19b-46b0-be01-4468c36dd3da", + "name": "barcodeScanner", + "displayName": "Barcode Scanner", + "createMethods": ["user"], + "interfaces": ["barcodescanner"], + "eventTypes": [ + { + "id": "20910fac-93ff-4679-bec9-786defcd1875", + "name": "codeScanned", + "displayName": "Code scanned", + "paramTypes": [ + { + "id": "d76c1a34-ee9a-4363-80bb-2042639311c7", + "name": "content", + "displayName": "Cotent", + "type": "QString" + } + ] + } + ] } ] } From 650dc75b6e91752e2c2ba9a389c4785c7e8a8606 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Wed, 13 Nov 2019 22:55:16 +0100 Subject: [PATCH 3/4] Start plugin timer for barcode scanner simulation --- simulation/devicepluginsimulation.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/simulation/devicepluginsimulation.cpp b/simulation/devicepluginsimulation.cpp index 18a62037..b7cfdf79 100644 --- a/simulation/devicepluginsimulation.cpp +++ b/simulation/devicepluginsimulation.cpp @@ -69,6 +69,9 @@ void DevicePluginSimulation::setupDevice(DeviceSetupInfo *info) if (device->deviceClassId() == fingerPrintSensorDeviceClassId && device->stateValue(fingerPrintSensorUsersStateTypeId).toStringList().count() > 0) { m_simulationTimers.value(device)->start(10000); } + if (device->deviceClassId() == barcodeScannerDeviceClassId) { + m_simulationTimers.value(device)->start(10000); + } info->finish(Device::DeviceErrorNoError); } From fda4b137ae62383a4c1ca4c7d6bd9372627b3d6e Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Tue, 19 Nov 2019 20:17:34 +0100 Subject: [PATCH 4/4] Bump version to match nymea --- debian/changelog | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/debian/changelog b/debian/changelog index 54ba9dc0..1a956253 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,8 @@ +nymea-plugins (0.17.0) UNRELEASED; urgency=medium + + + -- Michael Zanetti Tue, 19 Nov 2019 20:17:07 +0100 + nymea-plugins (0.16.0) xenial; urgency=medium [ Bernhard Trinnes ]