diff --git a/onewire/devicepluginonewire.cpp b/onewire/devicepluginonewire.cpp index 5db3b7a8..a801bc6d 100644 --- a/onewire/devicepluginonewire.cpp +++ b/onewire/devicepluginonewire.cpp @@ -33,9 +33,9 @@ DevicePluginOneWire::DevicePluginOneWire() { } -Device::DeviceError DevicePluginOneWire::discoverDevices(const DeviceClassId &deviceClassId, const ParamList ¶ms) +void DevicePluginOneWire::discoverDevices(DeviceDiscoveryInfo *info) { - Q_UNUSED(params); + DeviceClassId deviceClassId = info->deviceClassId(); if (deviceClassId == temperatureSensorDeviceClassId || deviceClassId == singleChannelSwitchDeviceClassId || @@ -44,32 +44,42 @@ Device::DeviceError DevicePluginOneWire::discoverDevices(const DeviceClassId &de if (myDevices().filterByDeviceClassId(oneWireInterfaceDeviceClassId).isEmpty()) { //No one wire interface intitialized - return Device::DeviceErrorHardwareNotAvailable; + //: Error discovering one wire devices + return info->finish(Device::DeviceErrorHardwareNotAvailable, QT_TR_NOOP("No one wire interface initialized. Please set up a one wire interface first.")); } foreach(Device *parentDevice, myDevices().filterByDeviceClassId(oneWireInterfaceDeviceClassId)) { if (parentDevice->stateValue(oneWireInterfaceAutoAddStateTypeId).toBool()) { //devices cannot be discovered since auto mode is enabled - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } else { if (m_oneWireInterface) m_oneWireInterface->discoverDevices(); } } - return Device::DeviceErrorAsync; + + m_runningDiscoveries.append(info); + connect(info, &DeviceDiscoveryInfo::destroyed, this, [this, info](){ + m_runningDiscoveries.removeAll(info); + }); + return; } - return Device::DeviceErrorDeviceClassNotFound; + + qCWarning(dcOneWire()) << "Discovery called for a deviceclass which does not support discovery? Device class ID:" << info->deviceClassId().toString(); + info->finish(Device::DeviceErrorDeviceClassNotFound); } -Device::DeviceSetupStatus DevicePluginOneWire::setupDevice(Device *device) +void DevicePluginOneWire::setupDevice(DeviceSetupInfo *info) { + Device *device = info->device(); if (device->deviceClassId() == oneWireInterfaceDeviceClassId) { qCDebug(dcOneWire) << "Setup one wire interface"; if (m_oneWireInterface) { qCWarning(dcOneWire) << "One wire interface already set up"; - return Device::DeviceSetupStatusFailure; + //: Error setting up device + return info->finish(Device::DeviceErrorDeviceInUse, QT_TR_NOOP("There can only be one one wire interface per system.")); } m_oneWireInterface = new OneWire(this); QByteArray initArguments = device->paramValue(oneWireInterfaceDeviceInitArgsParamTypeId).toByteArray(); @@ -77,10 +87,11 @@ Device::DeviceSetupStatus DevicePluginOneWire::setupDevice(Device *device) if (!m_oneWireInterface->init(initArguments)){ m_oneWireInterface->deleteLater(); m_oneWireInterface = nullptr; - return Device::DeviceSetupStatusFailure; + //: Error setting up device + return info->finish(Device::DeviceErrorHardwareFailure, QT_TR_NOOP("Error initializing one wire interface.")); } connect(m_oneWireInterface, &OneWire::devicesDiscovered, this, &DevicePluginOneWire::onOneWireDevicesDiscovered); - return Device::DeviceSetupStatusSuccess; + return info->finish(Device::DeviceErrorNoError); } if (device->deviceClassId() == temperatureSensorDeviceClassId) { @@ -90,7 +101,7 @@ Device::DeviceSetupStatus DevicePluginOneWire::setupDevice(Device *device) double temperature = m_oneWireInterface->getTemperature(device->paramValue(temperatureSensorDeviceAddressParamTypeId).toByteArray()); device->setStateValue(temperatureSensorTemperatureStateTypeId, temperature); } - return Device::DeviceSetupStatusSuccess; + return info->finish(Device::DeviceErrorNoError); } if (device->deviceClassId() == singleChannelSwitchDeviceClassId) { @@ -99,7 +110,7 @@ Device::DeviceSetupStatus DevicePluginOneWire::setupDevice(Device *device) QByteArray address = device->paramValue(singleChannelSwitchDeviceAddressParamTypeId).toByteArray(); device->setStateValue(singleChannelSwitchDigitalOutputStateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_A)); } - return Device::DeviceSetupStatusSuccess; + return info->finish(Device::DeviceErrorNoError); } if (device->deviceClassId() == dualChannelSwitchDeviceClassId) { @@ -109,7 +120,7 @@ Device::DeviceSetupStatus DevicePluginOneWire::setupDevice(Device *device) device->setStateValue(dualChannelSwitchDigitalOutput1StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_A)); device->setStateValue(dualChannelSwitchDigitalOutput2StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_B)); } - return Device::DeviceSetupStatusSuccess; + return info->finish(Device::DeviceErrorNoError); } if (device->deviceClassId() == eightChannelSwitchDeviceClassId) { @@ -125,9 +136,9 @@ Device::DeviceSetupStatus DevicePluginOneWire::setupDevice(Device *device) device->setStateValue(eightChannelSwitchDigitalOutput7StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_G)); device->setStateValue(eightChannelSwitchDigitalOutput8StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_H)); } - return Device::DeviceSetupStatusSuccess; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceSetupStatusFailure; + return info->finish(Device::DeviceErrorDeviceNotFound); } void DevicePluginOneWire::postSetupDevice(Device *device) @@ -140,73 +151,76 @@ void DevicePluginOneWire::postSetupDevice(Device *device) } } -Device::DeviceError DevicePluginOneWire::executeAction(Device *device, const Action &action) +void DevicePluginOneWire::executeAction(DeviceActionInfo *info) { + Device *device = info->device(); + Action action = info->action(); + if (device->deviceClassId() == oneWireInterfaceDeviceClassId) { if (action.actionTypeId() == oneWireInterfaceAutoAddActionTypeId){ device->setStateValue(oneWireInterfaceAutoAddStateTypeId, action.param(oneWireInterfaceAutoAddActionAutoAddParamTypeId).value()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceErrorActionTypeNotFound; + return info->finish(Device::DeviceErrorActionTypeNotFound); } if (device->deviceClassId() == singleChannelSwitchDeviceClassId) { if (action.actionTypeId() == singleChannelSwitchDigitalOutputActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(singleChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_A, action.param(singleChannelSwitchDigitalOutputActionDigitalOutputParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceErrorActionTypeNotFound; + return info->finish(Device::DeviceErrorActionTypeNotFound); } if (device->deviceClassId() == dualChannelSwitchDeviceClassId) { if (action.actionTypeId() == dualChannelSwitchDigitalOutput1ActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(dualChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_A, action.param(dualChannelSwitchDigitalOutput1ActionDigitalOutput1ParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == dualChannelSwitchDigitalOutput2ActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(dualChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_B, action.param(dualChannelSwitchDigitalOutput2ActionDigitalOutput2ParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceErrorActionTypeNotFound; + return info->finish(Device::DeviceErrorActionTypeNotFound); } if (device->deviceClassId() == eightChannelSwitchDeviceClassId) { if (action.actionTypeId() == eightChannelSwitchDigitalOutput1ActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(eightChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_A, action.param(eightChannelSwitchDigitalOutput1ActionDigitalOutput1ParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == eightChannelSwitchDigitalOutput2ActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(eightChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_B, action.param(eightChannelSwitchDigitalOutput2ActionDigitalOutput2ParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == eightChannelSwitchDigitalOutput3ActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(eightChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_C, action.param(eightChannelSwitchDigitalOutput3ActionDigitalOutput3ParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == eightChannelSwitchDigitalOutput4ActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(eightChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_D, action.param(eightChannelSwitchDigitalOutput4ActionDigitalOutput4ParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == eightChannelSwitchDigitalOutput5ActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(eightChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_E, action.param(eightChannelSwitchDigitalOutput5ActionDigitalOutput5ParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == eightChannelSwitchDigitalOutput6ActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(eightChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_F, action.param(eightChannelSwitchDigitalOutput6ActionDigitalOutput6ParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == eightChannelSwitchDigitalOutput7ActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(eightChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_G, action.param(eightChannelSwitchDigitalOutput7ActionDigitalOutput7ParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } if (action.actionTypeId() == eightChannelSwitchDigitalOutput8ActionTypeId){ m_oneWireInterface->setSwitchOutput(device->paramValue(eightChannelSwitchDeviceAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_H, action.param(eightChannelSwitchDigitalOutput8ActionDigitalOutput8ParamTypeId).value().toBool()); - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } - return Device::DeviceErrorActionTypeNotFound; + return info->finish(Device::DeviceErrorActionTypeNotFound); } - return Device::DeviceErrorNoError; + return info->finish(Device::DeviceErrorNoError); } @@ -273,10 +287,7 @@ void DevicePluginOneWire::onOneWireDevicesDiscovered(QListstateValue(oneWireInterfaceAutoAddStateTypeId).toBool(); - QList temperatureDeviceDescriptors; - QList singleChannelSwitchDeviceDescriptors; - QList dualChannelSwitchDeviceDescriptors; - QList eightChannelSwitchDeviceDescriptors; + DeviceDescriptors descriptors; foreach (OneWire::OneWireDevice oneWireDevice, oneWireDevices){ switch (oneWireDevice.family) { //https://github.com/owfs/owfs-doc/wiki/1Wire-Device-List @@ -295,7 +306,7 @@ void DevicePluginOneWire::onOneWireDevicesDiscovered(QListaddDeviceDescriptors(descriptors); + info->finish(Device::DeviceErrorNoError); + } } break; } diff --git a/onewire/devicepluginonewire.h b/onewire/devicepluginonewire.h index 16da52e6..9320f216 100644 --- a/onewire/devicepluginonewire.h +++ b/onewire/devicepluginonewire.h @@ -38,16 +38,18 @@ class DevicePluginOneWire : public DevicePlugin public: explicit DevicePluginOneWire(); - Device::DeviceError discoverDevices(const DeviceClassId &deviceClassId, const ParamList ¶ms) override; - Device::DeviceSetupStatus setupDevice(Device *device) override; + void discoverDevices(DeviceDiscoveryInfo *info) override; + void setupDevice(DeviceSetupInfo *info) override; void postSetupDevice(Device *device) override; - Device::DeviceError executeAction(Device *device, const Action &action) override; + void executeAction(DeviceActionInfo *info) override; void deviceRemoved(Device *device) override; private: PluginTimer *m_pluginTimer = nullptr; OneWire *m_oneWireInterface = nullptr; + QList m_runningDiscoveries; + private slots: void onPluginTimer(); void onOneWireDevicesDiscovered(QList devices); diff --git a/onewire/translations/2c697fb7-0645-466d-9cb9-aa1922c85bee-en_US.ts b/onewire/translations/2c697fb7-0645-466d-9cb9-aa1922c85bee-en_US.ts new file mode 100644 index 00000000..6ded90ea --- /dev/null +++ b/onewire/translations/2c697fb7-0645-466d-9cb9-aa1922c85bee-en_US.ts @@ -0,0 +1,403 @@ + + + + + DevicePluginOneWire + + + No one wire interface initialized. Please set up a one wire interface first. + + + + + There can only be one One wire interface per system. + + + + + Error initializing one wire interface. + + + + + OneWire + + + 1-channel switch + The name of the DeviceClass ({6db42501-5451-4aac-9525-5f886b3188e2}) + + + + + 2-channel switch + The name of the DeviceClass ({023f2b93-61e1-4422-97f5-3d5c14a6628f}) + + + + + 8-channel switch + The name of the DeviceClass ({71691119-3bda-4424-b853-1a00f21086e1}) + + + + + + + + Address + The name of the ParamType (DeviceClass: eightChannelSwitch, Type: device, ID: {e3e6e596-0cd4-42a3-8401-ccf6349314b7}) +---------- +The name of the ParamType (DeviceClass: dualChannelSwitch, Type: device, ID: {b9a1a23d-1fbf-4849-8aa2-2855e7deaf84}) +---------- +The name of the ParamType (DeviceClass: singleChannelSwitch, Type: device, ID: {c9d6b7fd-fa21-473a-b5ed-9c5227749f06}) +---------- +The name of the ParamType (DeviceClass: temperatureSensor, Type: device, ID: {b4368f34-d9bb-496f-84ba-091bd4b6a332}) + + + + + + + Auto add one wire devices + The name of the ParamType (DeviceClass: oneWireInterface, ActionType: autoAdd, ID: {64baf50e-8ed4-4526-8b92-7e4662d6fa39}) +---------- +The name of the ParamType (DeviceClass: oneWireInterface, EventType: autoAdd, ID: {64baf50e-8ed4-4526-8b92-7e4662d6fa39}) +---------- +The name of the StateType ({64baf50e-8ed4-4526-8b92-7e4662d6fa39}) of DeviceClass oneWireInterface + + + + + Auto add one wire devices changed + The name of the EventType ({64baf50e-8ed4-4526-8b92-7e4662d6fa39}) of DeviceClass oneWireInterface + + + + + + + Digital output + The name of the ParamType (DeviceClass: singleChannelSwitch, ActionType: digitalOutput, ID: {ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) +---------- +The name of the ParamType (DeviceClass: singleChannelSwitch, EventType: digitalOutput, ID: {ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) +---------- +The name of the StateType ({ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) of DeviceClass singleChannelSwitch + + + + + + + + + + Digital output 1 + The name of the ParamType (DeviceClass: eightChannelSwitch, ActionType: digitalOutput1, ID: {78fa12c0-246c-4112-8be6-5943d3c3cda5}) +---------- +The name of the ParamType (DeviceClass: eightChannelSwitch, EventType: digitalOutput1, ID: {78fa12c0-246c-4112-8be6-5943d3c3cda5}) +---------- +The name of the StateType ({78fa12c0-246c-4112-8be6-5943d3c3cda5}) of DeviceClass eightChannelSwitch +---------- +The name of the ParamType (DeviceClass: dualChannelSwitch, ActionType: digitalOutput1, ID: {f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) +---------- +The name of the ParamType (DeviceClass: dualChannelSwitch, EventType: digitalOutput1, ID: {f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) +---------- +The name of the StateType ({f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) of DeviceClass dualChannelSwitch + + + + + + Digital output 1 changed + The name of the EventType ({78fa12c0-246c-4112-8be6-5943d3c3cda5}) of DeviceClass eightChannelSwitch +---------- +The name of the EventType ({f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) of DeviceClass dualChannelSwitch + + + + + + + + + + Digital output 2 + The name of the ParamType (DeviceClass: eightChannelSwitch, ActionType: digitalOutput2, ID: {c7d2f4a8-2b13-4a48-81a8-72f4908c775b}) +---------- +The name of the ParamType (DeviceClass: eightChannelSwitch, EventType: digitalOutput2, ID: {c7d2f4a8-2b13-4a48-81a8-72f4908c775b}) +---------- +The name of the StateType ({c7d2f4a8-2b13-4a48-81a8-72f4908c775b}) of DeviceClass eightChannelSwitch +---------- +The name of the ParamType (DeviceClass: dualChannelSwitch, ActionType: digitalOutput2, ID: {82a78aed-5994-4af5-aecb-1806be5de1f3}) +---------- +The name of the ParamType (DeviceClass: dualChannelSwitch, EventType: digitalOutput2, ID: {82a78aed-5994-4af5-aecb-1806be5de1f3}) +---------- +The name of the StateType ({82a78aed-5994-4af5-aecb-1806be5de1f3}) of DeviceClass dualChannelSwitch + + + + + + Digital output 2 changed + The name of the EventType ({c7d2f4a8-2b13-4a48-81a8-72f4908c775b}) of DeviceClass eightChannelSwitch +---------- +The name of the EventType ({82a78aed-5994-4af5-aecb-1806be5de1f3}) of DeviceClass dualChannelSwitch + + + + + + + Digital output 3 + The name of the ParamType (DeviceClass: eightChannelSwitch, ActionType: digitalOutput3, ID: {4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) +---------- +The name of the ParamType (DeviceClass: eightChannelSwitch, EventType: digitalOutput3, ID: {4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) +---------- +The name of the StateType ({4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) of DeviceClass eightChannelSwitch + + + + + Digital output 3 changed + The name of the EventType ({4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) of DeviceClass eightChannelSwitch + + + + + + + Digital output 4 + The name of the ParamType (DeviceClass: eightChannelSwitch, ActionType: digitalOutput4, ID: {bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) +---------- +The name of the ParamType (DeviceClass: eightChannelSwitch, EventType: digitalOutput4, ID: {bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) +---------- +The name of the StateType ({bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) of DeviceClass eightChannelSwitch + + + + + Digital output 4 changed + The name of the EventType ({bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) of DeviceClass eightChannelSwitch + + + + + + + Digital output 5 + The name of the ParamType (DeviceClass: eightChannelSwitch, ActionType: digitalOutput5, ID: {50855d2b-a700-4030-8674-fee00cc0b4e2}) +---------- +The name of the ParamType (DeviceClass: eightChannelSwitch, EventType: digitalOutput5, ID: {50855d2b-a700-4030-8674-fee00cc0b4e2}) +---------- +The name of the StateType ({50855d2b-a700-4030-8674-fee00cc0b4e2}) of DeviceClass eightChannelSwitch + + + + + Digital output 5 changed + The name of the EventType ({50855d2b-a700-4030-8674-fee00cc0b4e2}) of DeviceClass eightChannelSwitch + + + + + + + Digital output 6 + The name of the ParamType (DeviceClass: eightChannelSwitch, ActionType: digitalOutput6, ID: {a91ce593-09ba-4754-8a2e-e3f507313585}) +---------- +The name of the ParamType (DeviceClass: eightChannelSwitch, EventType: digitalOutput6, ID: {a91ce593-09ba-4754-8a2e-e3f507313585}) +---------- +The name of the StateType ({a91ce593-09ba-4754-8a2e-e3f507313585}) of DeviceClass eightChannelSwitch + + + + + Digital output 6 changed + The name of the EventType ({a91ce593-09ba-4754-8a2e-e3f507313585}) of DeviceClass eightChannelSwitch + + + + + + + Digital output 7 + The name of the ParamType (DeviceClass: eightChannelSwitch, ActionType: digitalOutput7, ID: {5f46047c-b00d-486f-b169-b738fbc89cdb}) +---------- +The name of the ParamType (DeviceClass: eightChannelSwitch, EventType: digitalOutput7, ID: {5f46047c-b00d-486f-b169-b738fbc89cdb}) +---------- +The name of the StateType ({5f46047c-b00d-486f-b169-b738fbc89cdb}) of DeviceClass eightChannelSwitch + + + + + Digital output 7 changed + The name of the EventType ({5f46047c-b00d-486f-b169-b738fbc89cdb}) of DeviceClass eightChannelSwitch + + + + + + + Digital output 8 + The name of the ParamType (DeviceClass: eightChannelSwitch, ActionType: digitalOutput8, ID: {63334a17-0847-4f53-8007-1b5e72b88aa8}) +---------- +The name of the ParamType (DeviceClass: eightChannelSwitch, EventType: digitalOutput8, ID: {63334a17-0847-4f53-8007-1b5e72b88aa8}) +---------- +The name of the StateType ({63334a17-0847-4f53-8007-1b5e72b88aa8}) of DeviceClass eightChannelSwitch + + + + + Digital output 8 changed + The name of the EventType ({63334a17-0847-4f53-8007-1b5e72b88aa8}) of DeviceClass eightChannelSwitch + + + + + Digital output changed + The name of the EventType ({ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) of DeviceClass singleChannelSwitch + + + + + OWFS init arguments + The name of the ParamType (DeviceClass: oneWireInterface, Type: device, ID: {a0e773ff-fd19-499e-96f0-830168229cd3}) + + + + + One Wire + The name of the plugin OneWire ({2c697fb7-0645-466d-9cb9-aa1922c85bee}) + + + + + One wire + The name of the vendor ({cecc5fae-29cf-40c0-b1f8-0af2dc8e8a63}) + + + + + One wire interface + The name of the DeviceClass ({c36c68d9-6182-4ae1-972d-b8b5e0cf185f}) + + + + + Set auto add mode + The name of the ActionType ({64baf50e-8ed4-4526-8b92-7e4662d6fa39}) of DeviceClass oneWireInterface + + + + + Set digital output + The name of the ActionType ({ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) of DeviceClass singleChannelSwitch + + + + + + Set digital output 1 + The name of the ActionType ({78fa12c0-246c-4112-8be6-5943d3c3cda5}) of DeviceClass eightChannelSwitch +---------- +The name of the ActionType ({f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) of DeviceClass dualChannelSwitch + + + + + + Set digital output 2 + The name of the ActionType ({c7d2f4a8-2b13-4a48-81a8-72f4908c775b}) of DeviceClass eightChannelSwitch +---------- +The name of the ActionType ({82a78aed-5994-4af5-aecb-1806be5de1f3}) of DeviceClass dualChannelSwitch + + + + + Set digital output 3 + The name of the ActionType ({4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) of DeviceClass eightChannelSwitch + + + + + Set digital output 4 + The name of the ActionType ({bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) of DeviceClass eightChannelSwitch + + + + + Set digital output 5 + The name of the ActionType ({50855d2b-a700-4030-8674-fee00cc0b4e2}) of DeviceClass eightChannelSwitch + + + + + Set digital output 6 + The name of the ActionType ({a91ce593-09ba-4754-8a2e-e3f507313585}) of DeviceClass eightChannelSwitch + + + + + Set digital output 7 + The name of the ActionType ({5f46047c-b00d-486f-b169-b738fbc89cdb}) of DeviceClass eightChannelSwitch + + + + + Set digital output 8 + The name of the ActionType ({63334a17-0847-4f53-8007-1b5e72b88aa8}) of DeviceClass eightChannelSwitch + + + + + Temperature Sensor + The name of the DeviceClass ({e13beb24-953c-48b3-9262-7cde31d42ef5}) + + + + + + + + Type + The name of the ParamType (DeviceClass: eightChannelSwitch, Type: device, ID: {34c8f771-4141-4183-9eaf-becbaf362ac8}) +---------- +The name of the ParamType (DeviceClass: dualChannelSwitch, Type: device, ID: {b71ed57b-e768-4119-829e-a0f2c9fa5e18}) +---------- +The name of the ParamType (DeviceClass: singleChannelSwitch, Type: device, ID: {6efc8cb6-81ae-45c0-8910-708401d1ba68}) +---------- +The name of the ParamType (DeviceClass: temperatureSensor, Type: device, ID: {5005822d-6a32-4bb8-9b77-f79da7382f76}) + + + + + + connected + The name of the ParamType (DeviceClass: oneWireInterface, EventType: connected, ID: {d0ded173-c382-4ee3-8e24-3647b4e16afa}) +---------- +The name of the StateType ({d0ded173-c382-4ee3-8e24-3647b4e16afa}) of DeviceClass oneWireInterface + + + + + connected changed + The name of the EventType ({d0ded173-c382-4ee3-8e24-3647b4e16afa}) of DeviceClass oneWireInterface + + + + + + temperature + The name of the ParamType (DeviceClass: temperatureSensor, EventType: temperature, ID: {b04ee2a5-9b27-4ffc-9e12-7e05f5a41690}) +---------- +The name of the StateType ({b04ee2a5-9b27-4ffc-9e12-7e05f5a41690}) of DeviceClass temperatureSensor + + + + + temperature changed + The name of the EventType ({b04ee2a5-9b27-4ffc-9e12-7e05f5a41690}) of DeviceClass temperatureSensor + + + +