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 ] 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); } } diff --git a/simulation/devicepluginsimulation.cpp b/simulation/devicepluginsimulation.cpp index 46a14987..b7cfdf79 100644 --- a/simulation/devicepluginsimulation.cpp +++ b/simulation/devicepluginsimulation.cpp @@ -61,13 +61,17 @@ 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); } 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); } @@ -704,5 +708,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" + } + ] + } + ] } ] }