Merge PR #307: OneWire PlugIn: Add W1 support
This commit is contained in:
commit
2db4496296
@ -38,7 +38,8 @@ This integration plugin allows to integrate one-wire devices like temperature se
|
||||
* DS2408
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
### OWFS Interface
|
||||
First step is to setup the "One wire interface". During the device setup it is required to enter the OWFS init arguments. Default arguments are "--i2c=ALL:ALL", means OWFS is about to scan for one-wire bus masters on all I2C interfaces.
|
||||
|
||||
You can simulate one-wire device with following init argument: "--fake=10,22,28,05"
|
||||
@ -49,6 +50,10 @@ The "One wire interface" thing has the toggle button to "Auto add one wire devic
|
||||
|
||||
NOTE: As long as the "Auto add one wire devices" feature is activated you won't be able to manually discover devices.
|
||||
|
||||
### W1 Kernel Driver
|
||||
Install the kernel driver w1. Raspberry Pi users can use rasp-config to enable 'one wire' which enables W1. There are not further steps necessary, temperature sensors will be discovered if the driver has been loaded successfully.
|
||||
|
||||
|
||||
## Requirements
|
||||
|
||||
* The package “nymea-plugin-onewire” must be installed.
|
||||
|
||||
@ -43,17 +43,55 @@ void IntegrationPluginOneWire::discoverThings(ThingDiscoveryInfo *info)
|
||||
{
|
||||
ThingClassId deviceClassId = info->thingClassId();
|
||||
|
||||
if (!m_w1Interface) {
|
||||
m_w1Interface = new W1(this);
|
||||
}
|
||||
|
||||
if (deviceClassId == temperatureSensorThingClassId ||
|
||||
deviceClassId == singleChannelSwitchThingClassId ||
|
||||
deviceClassId == dualChannelSwitchThingClassId ||
|
||||
deviceClassId == eightChannelSwitchThingClassId) {
|
||||
|
||||
if (myThings().filterByThingClassId(oneWireInterfaceThingClassId).isEmpty()) {
|
||||
//No one wire interface intitialized
|
||||
//: Error discovering one wire devices
|
||||
return info->finish(Thing::ThingErrorHardwareNotAvailable, QT_TR_NOOP("No one wire interface initialized. Please set up a one wire interface first."));
|
||||
if (!m_w1Interface->interfaceIsAvailable()) {
|
||||
return info->finish(Thing::ThingErrorHardwareNotAvailable, QT_TR_NOOP("No one wire interface initialized. Please set up a one wire interface first."));
|
||||
}
|
||||
QStringList deviceList = m_w1Interface->discoverDevices();
|
||||
|
||||
Q_FOREACH(QString device, deviceList) {
|
||||
if (device.startsWith("10") ||
|
||||
device.startsWith("22") ||
|
||||
device.startsWith("28") ||
|
||||
device.startsWith("3B", Qt::CaseInsensitive)) {
|
||||
|
||||
QString type = "Unkown";
|
||||
if (device.startsWith("10")) { //
|
||||
type = "DS18S20";
|
||||
} else if (device.startsWith("22")) { //
|
||||
type = "DS1822";
|
||||
} else if (device.startsWith("28")) { //
|
||||
type = "DS18B20";
|
||||
} else if (device.startsWith("3B", Qt::CaseInsensitive)) { //DS1825
|
||||
type = "DS1825";
|
||||
}
|
||||
ThingDescriptor descriptor(temperatureSensorThingClassId, type, "One wire temperature sensor");
|
||||
ParamList params;
|
||||
params.append(Param(temperatureSensorThingAddressParamTypeId, device));
|
||||
params.append(Param(temperatureSensorThingTypeParamTypeId, type));
|
||||
foreach (Thing *existingThing, myThings().filterByThingClassId(temperatureSensorThingClassId)){
|
||||
if (existingThing->paramValue(temperatureSensorThingAddressParamTypeId).toString() == device) {
|
||||
descriptor.setThingId(existingThing->id());
|
||||
break;
|
||||
}
|
||||
}
|
||||
descriptor.setParams(params);
|
||||
info->addThingDescriptor(descriptor);
|
||||
}
|
||||
}
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
|
||||
|
||||
foreach(Thing *parentDevice, myThings().filterByThingClassId(oneWireInterfaceThingClassId)) {
|
||||
if (parentDevice->stateValue(oneWireInterfaceAutoAddStateTypeId).toBool()) {
|
||||
//devices cannot be discovered since auto mode is enabled
|
||||
@ -64,18 +102,18 @@ void IntegrationPluginOneWire::discoverThings(ThingDiscoveryInfo *info)
|
||||
m_runningDiscoveries.remove(parentDevice);
|
||||
});
|
||||
|
||||
if (m_oneWireInterface)
|
||||
m_oneWireInterface->discoverDevices();
|
||||
if (m_owfsInterface)
|
||||
m_owfsInterface->discoverDevices();
|
||||
}
|
||||
|
||||
if (m_runningDiscoveries.isEmpty()) {
|
||||
info->finish(Thing::ThingErrorNoError, QT_TR_NOOP("All configured one wire interfaces are set up to automatically add new devices."));
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
qCWarning(dcOneWire()) << "Discovery called for a deviceclass which does not support discovery? Device class ID:" << info->thingClassId().toString();
|
||||
info->finish(Thing::ThingErrorThingClassNotFound);
|
||||
}
|
||||
|
||||
qCWarning(dcOneWire()) << "Discovery called for a deviceclass which does not support discovery? Device class ID:" << info->thingClassId().toString();
|
||||
info->finish(Thing::ThingErrorThingClassNotFound);
|
||||
}
|
||||
|
||||
|
||||
@ -85,69 +123,86 @@ void IntegrationPluginOneWire::setupThing(ThingSetupInfo *info)
|
||||
if (thing->thingClassId() == oneWireInterfaceThingClassId) {
|
||||
qCDebug(dcOneWire) << "Setup one wire interface";
|
||||
|
||||
if (m_oneWireInterface) {
|
||||
if (m_owfsInterface) {
|
||||
qCWarning(dcOneWire) << "One wire interface already set up";
|
||||
//: Error setting up thing
|
||||
return info->finish(Thing::ThingErrorThingInUse, QT_TR_NOOP("There can only be one one wire interface per system."));
|
||||
}
|
||||
m_oneWireInterface = new OneWire(this);
|
||||
m_owfsInterface = new Owfs(this);
|
||||
QByteArray initArguments = thing->paramValue(oneWireInterfaceThingInitArgsParamTypeId).toByteArray();
|
||||
|
||||
if (!m_oneWireInterface->init(initArguments)){
|
||||
m_oneWireInterface->deleteLater();
|
||||
m_oneWireInterface = nullptr;
|
||||
if (!m_owfsInterface->init(initArguments)){
|
||||
m_owfsInterface->deleteLater();
|
||||
m_owfsInterface = nullptr;
|
||||
//: Error setting up thing
|
||||
return info->finish(Thing::ThingErrorHardwareFailure, QT_TR_NOOP("Error initializing one wire interface."));
|
||||
}
|
||||
connect(m_oneWireInterface, &OneWire::devicesDiscovered, this, &IntegrationPluginOneWire::onOneWireDevicesDiscovered);
|
||||
connect(m_owfsInterface, &Owfs::devicesDiscovered, this, &IntegrationPluginOneWire::onOneWireDevicesDiscovered);
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == temperatureSensorThingClassId) {
|
||||
} else if (thing->thingClassId() == temperatureSensorThingClassId) {
|
||||
|
||||
qCDebug(dcOneWire) << "Setup one wire temperature sensor" << thing->params();
|
||||
if (!m_oneWireInterface) { //in case the child was setup before the interface
|
||||
double temperature = m_oneWireInterface->getTemperature(thing->paramValue(temperatureSensorThingAddressParamTypeId).toByteArray());
|
||||
thing->setStateValue(temperatureSensorTemperatureStateTypeId, temperature);
|
||||
QString address = thing->paramValue(temperatureSensorThingAddressParamTypeId).toByteArray();
|
||||
if (myThings().findById(thing->parentId())->thingClassId() == oneWireInterfaceThingClassId) {
|
||||
if (m_owfsInterface) {
|
||||
thing->setStateValue(temperatureSensorConnectedStateTypeId, m_owfsInterface->isConnected(address.toUtf8()));
|
||||
thing->setStateValue(temperatureSensorTemperatureStateTypeId, m_owfsInterface->getTemperature(address.toUtf8()));
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
} else {
|
||||
//OWFS Interface is not yet initialized try a setup in 3 seconds
|
||||
QTimer::singleShot(3000, this, [this, info]{setupThing(info);});
|
||||
}
|
||||
} else {
|
||||
if (!m_w1Interface) {
|
||||
m_w1Interface = new W1(this);
|
||||
}
|
||||
if (m_w1Interface->interfaceIsAvailable()) {
|
||||
thing->setStateValue(temperatureSensorConnectedStateTypeId, m_w1Interface->deviceAvailable(address));
|
||||
thing->setStateValue(temperatureSensorTemperatureStateTypeId, m_w1Interface->getTemperature(address));
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
} else {
|
||||
qCWarning(dcOneWire()) << "W1 interface is not available";
|
||||
}
|
||||
}
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == singleChannelSwitchThingClassId) {
|
||||
} else if (thing->thingClassId() == singleChannelSwitchThingClassId) {
|
||||
qCDebug(dcOneWire) << "Setup one wire switch" << thing->params();
|
||||
if (!m_oneWireInterface) {
|
||||
if (m_owfsInterface) {
|
||||
QByteArray address = thing->paramValue(singleChannelSwitchThingAddressParamTypeId).toByteArray();
|
||||
thing->setStateValue(singleChannelSwitchDigitalOutputStateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(singleChannelSwitchDigitalOutputStateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(singleChannelSwitchConnectedStateTypeId, m_owfsInterface->isConnected(address));
|
||||
}
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == dualChannelSwitchThingClassId) {
|
||||
} else if (thing->thingClassId() == dualChannelSwitchThingClassId) {
|
||||
qCDebug(dcOneWire) << "Setup one wire dual switch" << thing->params();
|
||||
if (!m_oneWireInterface) {
|
||||
if (m_owfsInterface) {
|
||||
QByteArray address = thing->paramValue(dualChannelSwitchThingAddressParamTypeId).toByteArray();
|
||||
thing->setStateValue(dualChannelSwitchDigitalOutput1StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(dualChannelSwitchDigitalOutput2StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_B));
|
||||
thing->setStateValue(dualChannelSwitchDigitalOutput1StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(dualChannelSwitchDigitalOutput2StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_B));
|
||||
thing->setStateValue(dualChannelSwitchConnectedStateTypeId, m_owfsInterface->isConnected(address));
|
||||
}
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == eightChannelSwitchThingClassId) {
|
||||
} else if (thing->thingClassId() == eightChannelSwitchThingClassId) {
|
||||
qCDebug(dcOneWire) << "Setup one wire eight channel switch" << thing->params();
|
||||
if (!m_oneWireInterface) {
|
||||
if (m_owfsInterface) {
|
||||
QByteArray address = thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray();
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput1StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput2StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_B));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput3StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_C));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput4StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_D));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput5StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_E));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput6StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_F));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput7StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_G));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput8StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_H));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput1StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput2StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_B));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput3StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_C));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput4StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_D));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput5StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_E));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput6StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_F));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput7StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_G));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput8StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_H));
|
||||
thing->setStateValue(eightChannelSwitchConnectedStateTypeId, m_owfsInterface->isConnected(address));
|
||||
}
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
} else {
|
||||
return info->finish(Thing::ThingErrorThingNotFound);
|
||||
}
|
||||
return info->finish(Thing::ThingErrorThingNotFound);
|
||||
}
|
||||
|
||||
void IntegrationPluginOneWire::postSetupThing(Thing *thing)
|
||||
@ -165,82 +220,83 @@ void IntegrationPluginOneWire::executeAction(ThingActionInfo *info)
|
||||
Thing *thing = info->thing();
|
||||
Action action = info->action();
|
||||
|
||||
if (!m_owfsInterface) {
|
||||
//All current things with actions require an OWFS interface
|
||||
info->finish(Thing::ThingErrorHardwareNotAvailable, QT_TR_NOOP("OWFS interface is not available."));
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == oneWireInterfaceThingClassId) {
|
||||
if (action.actionTypeId() == oneWireInterfaceAutoAddActionTypeId){
|
||||
thing->setStateValue(oneWireInterfaceAutoAddStateTypeId, action.param(oneWireInterfaceAutoAddActionAutoAddParamTypeId).value());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
return info->finish(Thing::ThingErrorActionTypeNotFound);
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == singleChannelSwitchThingClassId) {
|
||||
} else if (thing->thingClassId() == singleChannelSwitchThingClassId) {
|
||||
if (action.actionTypeId() == singleChannelSwitchDigitalOutputActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(singleChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_A, action.param(singleChannelSwitchDigitalOutputActionDigitalOutputParamTypeId).value().toBool());
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(singleChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_A, action.param(singleChannelSwitchDigitalOutputActionDigitalOutputParamTypeId).value().toBool());
|
||||
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
} else {
|
||||
return info->finish(Thing::ThingErrorActionTypeNotFound);
|
||||
}
|
||||
return info->finish(Thing::ThingErrorActionTypeNotFound);
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == dualChannelSwitchThingClassId) {
|
||||
} else if (thing->thingClassId() == dualChannelSwitchThingClassId) {
|
||||
if (action.actionTypeId() == dualChannelSwitchDigitalOutput1ActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(dualChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_A, action.param(dualChannelSwitchDigitalOutput1ActionDigitalOutput1ParamTypeId).value().toBool());
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(dualChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_A, action.param(dualChannelSwitchDigitalOutput1ActionDigitalOutput1ParamTypeId).value().toBool());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
if (action.actionTypeId() == dualChannelSwitchDigitalOutput2ActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(dualChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_B, action.param(dualChannelSwitchDigitalOutput2ActionDigitalOutput2ParamTypeId).value().toBool());
|
||||
} else if (action.actionTypeId() == dualChannelSwitchDigitalOutput2ActionTypeId){
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(dualChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_B, action.param(dualChannelSwitchDigitalOutput2ActionDigitalOutput2ParamTypeId).value().toBool());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
} else {
|
||||
return info->finish(Thing::ThingErrorActionTypeNotFound);
|
||||
}
|
||||
return info->finish(Thing::ThingErrorActionTypeNotFound);
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == eightChannelSwitchThingClassId) {
|
||||
} else if (thing->thingClassId() == eightChannelSwitchThingClassId) {
|
||||
if (action.actionTypeId() == eightChannelSwitchDigitalOutput1ActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_A, action.param(eightChannelSwitchDigitalOutput1ActionDigitalOutput1ParamTypeId).value().toBool());
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_A, action.param(eightChannelSwitchDigitalOutput1ActionDigitalOutput1ParamTypeId).value().toBool());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
if (action.actionTypeId() == eightChannelSwitchDigitalOutput2ActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_B, action.param(eightChannelSwitchDigitalOutput2ActionDigitalOutput2ParamTypeId).value().toBool());
|
||||
} else if (action.actionTypeId() == eightChannelSwitchDigitalOutput2ActionTypeId){
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_B, action.param(eightChannelSwitchDigitalOutput2ActionDigitalOutput2ParamTypeId).value().toBool());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
if (action.actionTypeId() == eightChannelSwitchDigitalOutput3ActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_C, action.param(eightChannelSwitchDigitalOutput3ActionDigitalOutput3ParamTypeId).value().toBool());
|
||||
} else if (action.actionTypeId() == eightChannelSwitchDigitalOutput3ActionTypeId){
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_C, action.param(eightChannelSwitchDigitalOutput3ActionDigitalOutput3ParamTypeId).value().toBool());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
if (action.actionTypeId() == eightChannelSwitchDigitalOutput4ActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_D, action.param(eightChannelSwitchDigitalOutput4ActionDigitalOutput4ParamTypeId).value().toBool());
|
||||
} else if (action.actionTypeId() == eightChannelSwitchDigitalOutput4ActionTypeId){
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_D, action.param(eightChannelSwitchDigitalOutput4ActionDigitalOutput4ParamTypeId).value().toBool());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
if (action.actionTypeId() == eightChannelSwitchDigitalOutput5ActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_E, action.param(eightChannelSwitchDigitalOutput5ActionDigitalOutput5ParamTypeId).value().toBool());
|
||||
} else if (action.actionTypeId() == eightChannelSwitchDigitalOutput5ActionTypeId){
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_E, action.param(eightChannelSwitchDigitalOutput5ActionDigitalOutput5ParamTypeId).value().toBool());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
if (action.actionTypeId() == eightChannelSwitchDigitalOutput6ActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_F, action.param(eightChannelSwitchDigitalOutput6ActionDigitalOutput6ParamTypeId).value().toBool());
|
||||
} else if (action.actionTypeId() == eightChannelSwitchDigitalOutput6ActionTypeId){
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_F, action.param(eightChannelSwitchDigitalOutput6ActionDigitalOutput6ParamTypeId).value().toBool());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
if (action.actionTypeId() == eightChannelSwitchDigitalOutput7ActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_G, action.param(eightChannelSwitchDigitalOutput7ActionDigitalOutput7ParamTypeId).value().toBool());
|
||||
} else if (action.actionTypeId() == eightChannelSwitchDigitalOutput7ActionTypeId){
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_G, action.param(eightChannelSwitchDigitalOutput7ActionDigitalOutput7ParamTypeId).value().toBool());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
if (action.actionTypeId() == eightChannelSwitchDigitalOutput8ActionTypeId){
|
||||
m_oneWireInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), OneWire::SwitchChannel::PIO_H, action.param(eightChannelSwitchDigitalOutput8ActionDigitalOutput8ParamTypeId).value().toBool());
|
||||
} else if (action.actionTypeId() == eightChannelSwitchDigitalOutput8ActionTypeId){
|
||||
m_owfsInterface->setSwitchOutput(thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray(), Owfs::SwitchChannel::PIO_H, action.param(eightChannelSwitchDigitalOutput8ActionDigitalOutput8ParamTypeId).value().toBool());
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
} else {
|
||||
return info->finish(Thing::ThingErrorActionTypeNotFound);
|
||||
}
|
||||
return info->finish(Thing::ThingErrorActionTypeNotFound);
|
||||
} else {
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
return info->finish(Thing::ThingErrorNoError);
|
||||
}
|
||||
|
||||
|
||||
void IntegrationPluginOneWire::thingRemoved(Thing *thing)
|
||||
{
|
||||
if (thing->thingClassId() == oneWireInterfaceThingClassId) {
|
||||
m_oneWireInterface->deleteLater();
|
||||
m_oneWireInterface = nullptr;
|
||||
m_owfsInterface->deleteLater();
|
||||
m_owfsInterface = nullptr;
|
||||
return;
|
||||
}
|
||||
|
||||
if (myThings().filterByThingClassId(temperatureSensorThingClassId).isEmpty()) {
|
||||
m_w1Interface->deleteLater();
|
||||
m_w1Interface = nullptr;
|
||||
}
|
||||
|
||||
if (myThings().empty()) {
|
||||
hardwareManager()->pluginTimerManager()->unregisterTimer(m_pluginTimer);
|
||||
m_pluginTimer = nullptr;
|
||||
@ -252,52 +308,68 @@ void IntegrationPluginOneWire::onPluginTimer()
|
||||
{
|
||||
foreach (Thing *thing, myThings()) {
|
||||
if (thing->thingClassId() == oneWireInterfaceThingClassId) {
|
||||
thing->setStateValue(oneWireInterfaceConnectedStateTypeId, m_oneWireInterface->interfaceIsAvailable());
|
||||
thing->setStateValue(oneWireInterfaceConnectedStateTypeId, m_owfsInterface->interfaceIsAvailable());
|
||||
|
||||
if (thing->stateValue(oneWireInterfaceAutoAddStateTypeId).toBool()) {
|
||||
m_oneWireInterface->discoverDevices();
|
||||
m_owfsInterface->discoverDevices();
|
||||
}
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == temperatureSensorThingClassId) {
|
||||
} else if (thing->thingClassId() == temperatureSensorThingClassId) {
|
||||
QByteArray address = thing->paramValue(temperatureSensorThingAddressParamTypeId).toByteArray();
|
||||
double temperature = 0;
|
||||
bool connected = false;
|
||||
|
||||
if (myThings().findById(thing->parentId())->thingClassId() == oneWireInterfaceThingClassId) {
|
||||
if (m_owfsInterface) {
|
||||
temperature = m_owfsInterface->getTemperature(address);
|
||||
connected = m_owfsInterface->isConnected(address);
|
||||
} else {
|
||||
qCWarning(dcOneWire()) << "onPlugInTimer: OWFS interface not setup yet for thing" << thing->name();
|
||||
}
|
||||
|
||||
} else {
|
||||
temperature = m_w1Interface->getTemperature(address);
|
||||
connected = m_w1Interface->deviceAvailable(address);
|
||||
}
|
||||
|
||||
double temperature = m_oneWireInterface->getTemperature(address);
|
||||
thing->setStateValue(temperatureSensorTemperatureStateTypeId, temperature);
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == singleChannelSwitchThingClassId) {
|
||||
thing->setStateValue(temperatureSensorConnectedStateTypeId, connected);
|
||||
} else if (thing->thingClassId() == singleChannelSwitchThingClassId) {
|
||||
if (!m_owfsInterface)
|
||||
continue;
|
||||
QByteArray address = thing->paramValue(singleChannelSwitchThingAddressParamTypeId).toByteArray();
|
||||
thing->setStateValue(singleChannelSwitchDigitalOutputStateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_A));
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == dualChannelSwitchThingClassId) {
|
||||
thing->setStateValue(singleChannelSwitchDigitalOutputStateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(singleChannelSwitchConnectedStateTypeId, m_owfsInterface->isConnected(address));
|
||||
} else if (thing->thingClassId() == dualChannelSwitchThingClassId) {
|
||||
if (!m_owfsInterface)
|
||||
continue;
|
||||
QByteArray address = thing->paramValue(dualChannelSwitchThingAddressParamTypeId).toByteArray();
|
||||
thing->setStateValue(dualChannelSwitchDigitalOutput1StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(dualChannelSwitchDigitalOutput2StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_B));
|
||||
}
|
||||
|
||||
if (thing->thingClassId() == eightChannelSwitchThingClassId) {
|
||||
thing->setStateValue(dualChannelSwitchDigitalOutput1StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(dualChannelSwitchDigitalOutput2StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_B));
|
||||
thing->setStateValue(dualChannelSwitchConnectedStateTypeId, m_owfsInterface->isConnected(address));
|
||||
} else if (thing->thingClassId() == eightChannelSwitchThingClassId) {
|
||||
if (!m_owfsInterface)
|
||||
continue;
|
||||
QByteArray address = thing->paramValue(eightChannelSwitchThingAddressParamTypeId).toByteArray();
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput1StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput2StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_B));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput3StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_C));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput4StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_D));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput5StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_E));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput6StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_F));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput7StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_G));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput8StateTypeId, m_oneWireInterface->getSwitchOutput(address, OneWire::SwitchChannel::PIO_H));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput1StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_A));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput2StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_B));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput3StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_C));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput4StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_D));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput5StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_E));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput6StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_F));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput7StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_G));
|
||||
thing->setStateValue(eightChannelSwitchDigitalOutput8StateTypeId, m_owfsInterface->getSwitchOutput(address, Owfs::SwitchChannel::PIO_H));
|
||||
thing->setStateValue(eightChannelSwitchConnectedStateTypeId, m_owfsInterface->isConnected(address));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void IntegrationPluginOneWire::onOneWireDevicesDiscovered(QList<OneWire::OneWireDevice> oneWireDevices)
|
||||
void IntegrationPluginOneWire::onOneWireDevicesDiscovered(QList<Owfs::OwfsDevice> oneWireDevices)
|
||||
{
|
||||
foreach(Thing *parentDevice, myThings().filterByThingClassId(oneWireInterfaceThingClassId)) {
|
||||
|
||||
bool autoDiscoverEnabled = parentDevice->stateValue(oneWireInterfaceAutoAddStateTypeId).toBool();
|
||||
ThingDescriptors descriptors;
|
||||
foreach (OneWire::OneWireDevice oneWireDevice, oneWireDevices){
|
||||
foreach (Owfs::OwfsDevice oneWireDevice, oneWireDevices){
|
||||
switch (oneWireDevice.family) {
|
||||
//https://github.com/owfs/owfs-doc/wiki/1Wire-Device-List
|
||||
case 0x10: //DS18S20
|
||||
|
||||
@ -33,7 +33,8 @@
|
||||
|
||||
#include "plugintimer.h"
|
||||
#include "integrations/integrationplugin.h"
|
||||
#include "onewire.h"
|
||||
#include "owfs.h"
|
||||
#include "w1.h"
|
||||
|
||||
#include <QHash>
|
||||
|
||||
@ -54,13 +55,14 @@ public:
|
||||
|
||||
private:
|
||||
PluginTimer *m_pluginTimer = nullptr;
|
||||
OneWire *m_oneWireInterface = nullptr;
|
||||
Owfs *m_owfsInterface = nullptr;
|
||||
W1 *m_w1Interface = nullptr;
|
||||
|
||||
QHash<Thing*, ThingDiscoveryInfo*> m_runningDiscoveries;
|
||||
|
||||
private slots:
|
||||
void onPluginTimer();
|
||||
void onOneWireDevicesDiscovered(QList<OneWire::OneWireDevice> devices);
|
||||
void onOneWireDevicesDiscovered(QList<Owfs::OwfsDevice> devices);
|
||||
};
|
||||
|
||||
#endif // INTEGRATIONPLUGINONEWIRE_H
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
{
|
||||
"id": "c36c68d9-6182-4ae1-972d-b8b5e0cf185f",
|
||||
"name": "oneWireInterface",
|
||||
"displayName": "One wire interface",
|
||||
"displayName": "OWFS interface",
|
||||
"interfaces": ["gateway"],
|
||||
"createMethods": ["user"],
|
||||
"paramTypes": [
|
||||
@ -27,8 +27,8 @@
|
||||
{
|
||||
"id": "d0ded173-c382-4ee3-8e24-3647b4e16afa",
|
||||
"name": "connected",
|
||||
"displayName": "connected",
|
||||
"displayNameEvent": "connected changed",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected changed",
|
||||
"defaultValue": false,
|
||||
"type": "bool"
|
||||
},
|
||||
@ -68,11 +68,19 @@
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "32305a16-b042-4574-8bd7-ad99d9e8e5da",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected changed",
|
||||
"defaultValue": false,
|
||||
"type": "bool"
|
||||
},
|
||||
{
|
||||
"id": "b04ee2a5-9b27-4ffc-9e12-7e05f5a41690",
|
||||
"name": "temperature",
|
||||
"displayName": "temperature",
|
||||
"displayNameEvent": "temperature changed",
|
||||
"displayName": "Temperature",
|
||||
"displayNameEvent": "Temperature changed",
|
||||
"unit": "DegreeCelsius",
|
||||
"type": "double",
|
||||
"defaultValue": 0
|
||||
@ -102,7 +110,15 @@
|
||||
"readOnly": true
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "16bae8e8-bfe1-4648-9018-f6ce610f4236",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected changed",
|
||||
"defaultValue": false,
|
||||
"type": "bool"
|
||||
},
|
||||
{
|
||||
"id": "ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40",
|
||||
"name": "digitalOutput",
|
||||
@ -139,6 +155,14 @@
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "fb6e63db-316b-4959-a349-0ff58a679f71",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected changed",
|
||||
"defaultValue": false,
|
||||
"type": "bool"
|
||||
},
|
||||
{
|
||||
"id": "f8b6b4a7-355c-4580-a676-8a4d0d619ff9",
|
||||
"name": "digitalOutput1",
|
||||
@ -186,6 +210,14 @@
|
||||
}
|
||||
],
|
||||
"stateTypes": [
|
||||
{
|
||||
"id": "b99585e0-5147-46e3-9474-fba555bac68a",
|
||||
"name": "connected",
|
||||
"displayName": "Connected",
|
||||
"displayNameEvent": "Connected changed",
|
||||
"defaultValue": false,
|
||||
"type": "bool"
|
||||
},
|
||||
{
|
||||
"id": "78fa12c0-246c-4112-8be6-5943d3c3cda5",
|
||||
"name": "digitalOutput1",
|
||||
|
||||
@ -8,10 +8,11 @@ LIBS += \
|
||||
|
||||
SOURCES += \
|
||||
integrationpluginonewire.cpp \
|
||||
onewire.cpp \
|
||||
owfs.cpp \
|
||||
w1.cpp \
|
||||
|
||||
HEADERS += \
|
||||
integrationpluginonewire.h \
|
||||
onewire.h \
|
||||
|
||||
owfs.h \
|
||||
w1.h \
|
||||
|
||||
|
||||
@ -28,21 +28,21 @@
|
||||
*
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "onewire.h"
|
||||
#include "owfs.h"
|
||||
#include "extern-plugininfo.h"
|
||||
|
||||
OneWire::OneWire(QObject *parent) :
|
||||
Owfs::Owfs(QObject *parent) :
|
||||
QObject(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
OneWire::~OneWire()
|
||||
Owfs::~Owfs()
|
||||
{
|
||||
OW_finish();
|
||||
}
|
||||
|
||||
bool OneWire::init(const QByteArray &owfsInitArguments)
|
||||
bool Owfs::init(const QByteArray &owfsInitArguments)
|
||||
{
|
||||
//QByteArray initArguments;
|
||||
//Test OWFS arguments
|
||||
@ -52,6 +52,9 @@ bool OneWire::init(const QByteArray &owfsInitArguments)
|
||||
//Test i2c
|
||||
//initArguments.append("--i2c=ALL:ALL");
|
||||
|
||||
// W1 Kernel Module
|
||||
//inifArguments.append("--w1");
|
||||
|
||||
if (OW_init(owfsInitArguments) < 0) {
|
||||
qWarning(dcOneWire()) << "ERROR initialising one wire" << strerror(errno);
|
||||
return false;
|
||||
@ -60,7 +63,7 @@ bool OneWire::init(const QByteArray &owfsInitArguments)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OneWire::discoverDevices()
|
||||
bool Owfs::discoverDevices()
|
||||
{
|
||||
char *dirBuffer = nullptr;
|
||||
size_t dirLength ;
|
||||
@ -75,7 +78,7 @@ bool OneWire::discoverDevices()
|
||||
dirMembers = QByteArray(dirBuffer, dirLength).split(',');
|
||||
free(dirBuffer);
|
||||
|
||||
QList<OneWireDevice> oneWireDevices;
|
||||
QList<OwfsDevice> owfsDevices;
|
||||
foreach(QByteArray member, dirMembers) {
|
||||
|
||||
/* Other system members:
|
||||
@ -93,26 +96,31 @@ bool OneWire::discoverDevices()
|
||||
if (family != 0) {
|
||||
member.remove(member.indexOf('/'), 1);
|
||||
QByteArray type;
|
||||
OneWireDevice thing;
|
||||
OwfsDevice thing;
|
||||
thing.family = family;
|
||||
thing.address = member;
|
||||
thing.id = member.split('.').last();
|
||||
thing.type = getValue(member, "type");
|
||||
oneWireDevices.append(thing);
|
||||
owfsDevices.append(thing);
|
||||
}
|
||||
}
|
||||
emit devicesDiscovered(oneWireDevices);
|
||||
emit devicesDiscovered(owfsDevices);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool OneWire::interfaceIsAvailable()
|
||||
bool Owfs::interfaceIsAvailable()
|
||||
{
|
||||
return true;
|
||||
//TODO
|
||||
//QByteArray fullPath;
|
||||
//fullPath.append(m_path);
|
||||
//if(OW_present(fullPath) < 0)
|
||||
// return false;
|
||||
//return true;
|
||||
}
|
||||
|
||||
bool OneWire::isConnected(const QByteArray &address)
|
||||
bool Owfs::isConnected(const QByteArray &address)
|
||||
{
|
||||
Q_UNUSED(address)
|
||||
QByteArray fullPath;
|
||||
fullPath.append(m_path);
|
||||
fullPath.append(address);
|
||||
@ -125,7 +133,7 @@ bool OneWire::isConnected(const QByteArray &address)
|
||||
/* Takes a path and filename and prints the 1-wire value */
|
||||
/* makes sure the bridging "/" in the path is correct */
|
||||
/* watches for total length and free allocated space */
|
||||
QByteArray OneWire::getValue(const QByteArray &address, const QByteArray &type)
|
||||
QByteArray Owfs::getValue(const QByteArray &address, const QByteArray &type)
|
||||
{
|
||||
char * getBuffer ;
|
||||
size_t getLength ;
|
||||
@ -150,7 +158,7 @@ QByteArray OneWire::getValue(const QByteArray &address, const QByteArray &type)
|
||||
return value;
|
||||
}
|
||||
|
||||
void OneWire::setValue(const QByteArray &address, const QByteArray &type, const QByteArray &value)
|
||||
void Owfs::setValue(const QByteArray &address, const QByteArray &type, const QByteArray &value)
|
||||
{
|
||||
Q_UNUSED(value)
|
||||
QByteArray devicePath;
|
||||
@ -167,20 +175,20 @@ void OneWire::setValue(const QByteArray &address, const QByteArray &type, const
|
||||
}
|
||||
}
|
||||
|
||||
double OneWire::getTemperature(const QByteArray &address)
|
||||
double Owfs::getTemperature(const QByteArray &address)
|
||||
{
|
||||
QByteArray temperature = getValue(address, "temperature");
|
||||
qDebug(dcOneWire()) << "Temperature" << temperature << temperature.replace(',','.').toDouble();
|
||||
return temperature.toDouble();
|
||||
}
|
||||
|
||||
QByteArray OneWire::getType(const QByteArray &address)
|
||||
QByteArray Owfs::getType(const QByteArray &address)
|
||||
{
|
||||
QByteArray type = getValue(address, "type");
|
||||
return type;
|
||||
}
|
||||
|
||||
bool OneWire::getSwitchOutput(const QByteArray &address, SwitchChannel channel)
|
||||
bool Owfs::getSwitchOutput(const QByteArray &address, SwitchChannel channel)
|
||||
{
|
||||
QByteArray c;
|
||||
c.append("PIO.");
|
||||
@ -215,7 +223,7 @@ bool OneWire::getSwitchOutput(const QByteArray &address, SwitchChannel channel)
|
||||
return state.toInt();
|
||||
}
|
||||
|
||||
bool OneWire::getSwitchInput(const QByteArray &address, SwitchChannel channel)
|
||||
bool Owfs::getSwitchInput(const QByteArray &address, SwitchChannel channel)
|
||||
{
|
||||
QByteArray c;
|
||||
c.append("sensed.");
|
||||
@ -250,7 +258,7 @@ bool OneWire::getSwitchInput(const QByteArray &address, SwitchChannel channel)
|
||||
return state.toInt();
|
||||
}
|
||||
|
||||
void OneWire::setSwitchOutput(const QByteArray &address, SwitchChannel channel, bool state)
|
||||
void Owfs::setSwitchOutput(const QByteArray &address, SwitchChannel channel, bool state)
|
||||
{
|
||||
QByteArray c;
|
||||
c.append("PIO.");
|
||||
@ -28,18 +28,18 @@
|
||||
*
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#ifndef ONEWIRE_H
|
||||
#define ONEWIRE_H
|
||||
#ifndef OWFS_H
|
||||
#define OWFS_H
|
||||
|
||||
#include "owcapi.h"
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class OneWire : public QObject
|
||||
class Owfs : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum OneWireProperty {
|
||||
enum OwfsProperty {
|
||||
Address, //The entire 64-bit unique ID
|
||||
Crc, //The 8-bit error correction
|
||||
Family, //The 8-bit family code
|
||||
@ -59,15 +59,15 @@ public:
|
||||
PIO_H
|
||||
};
|
||||
|
||||
struct OneWireDevice {
|
||||
struct OwfsDevice {
|
||||
QByteArray address;
|
||||
int family;
|
||||
QByteArray id;
|
||||
QByteArray type;
|
||||
};
|
||||
|
||||
explicit OneWire(QObject *parent = nullptr);
|
||||
~OneWire();
|
||||
explicit Owfs(QObject *parent = nullptr);
|
||||
~Owfs();
|
||||
bool init(const QByteArray &owfsInitArguments);
|
||||
|
||||
QByteArray getPath();
|
||||
@ -87,7 +87,7 @@ private:
|
||||
void setValue(const QByteArray &address, const QByteArray &deviceType, const QByteArray &value);
|
||||
|
||||
signals:
|
||||
void devicesDiscovered(QList<OneWireDevice> devices);
|
||||
void devicesDiscovered(QList<OwfsDevice> devices);
|
||||
};
|
||||
|
||||
#endif // ONEWIRE_H
|
||||
#endif // OWFS_H
|
||||
451
onewire/translations/2c697fb7-0645-466d-9cb9-aa1922c85bee-de.ts
Normal file
451
onewire/translations/2c697fb7-0645-466d-9cb9-aa1922c85bee-de.ts
Normal file
@ -0,0 +1,451 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="de">
|
||||
<context>
|
||||
<name>IntegrationPluginOneWire</name>
|
||||
<message>
|
||||
<location filename="../integrationpluginonewire.cpp" line="57"/>
|
||||
<source>No one wire interface initialized. Please set up a one wire interface first.</source>
|
||||
<translation>Es wurde keine OWFS Schnittstelle initialisiert. Bitte richten Sie zuerst eine OWFS Schnittstelle ein.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../integrationpluginonewire.cpp" line="110"/>
|
||||
<source>All configured one wire interfaces are set up to automatically add new devices.</source>
|
||||
<translation>Alle konfigurierten OWFS-Schnittstellen sind so eingerichtet, dass automatisch neue Geräte hinzugefügt werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../integrationpluginonewire.cpp" line="129"/>
|
||||
<source>There can only be one one wire interface per system.</source>
|
||||
<extracomment>Error setting up thing</extracomment>
|
||||
<translation>Es kann nur eine One-Wire-Schnittstelle pro System geben.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../integrationpluginonewire.cpp" line="138"/>
|
||||
<source>Error initializing one wire interface.</source>
|
||||
<extracomment>Error setting up thing</extracomment>
|
||||
<translation>Fehler beim Initialisieren der One-Wire-Schnittstelle.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../integrationpluginonewire.cpp" line="160"/>
|
||||
<source>No 1-Wire interface available</source>
|
||||
<translation>Keine One-Wire-Schnittstelle verfügbar</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OneWire</name>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="114"/>
|
||||
<source>1-channel switch</source>
|
||||
<extracomment>The name of the ThingClass ({6db42501-5451-4aac-9525-5f886b3188e2})</extracomment>
|
||||
<translation>1-Kanal Schalter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="117"/>
|
||||
<source>2-channel switch</source>
|
||||
<extracomment>The name of the ThingClass ({023f2b93-61e1-4422-97f5-3d5c14a6628f})</extracomment>
|
||||
<translation>2-Kanal Schalter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="120"/>
|
||||
<source>8-channel switch</source>
|
||||
<extracomment>The name of the ThingClass ({71691119-3bda-4424-b853-1a00f21086e1})</extracomment>
|
||||
<translation>8-Kanal Schalter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="123"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="126"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="129"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="132"/>
|
||||
<source>Address</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, Type: thing, ID: {e3e6e596-0cd4-42a3-8401-ccf6349314b7})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: dualChannelSwitch, Type: thing, ID: {b9a1a23d-1fbf-4849-8aa2-2855e7deaf84})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: singleChannelSwitch, Type: thing, ID: {c9d6b7fd-fa21-473a-b5ed-9c5227749f06})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: temperatureSensor, Type: thing, ID: {b4368f34-d9bb-496f-84ba-091bd4b6a332})</extracomment>
|
||||
<translation>Adresse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="135"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="138"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="141"/>
|
||||
<source>Auto add one wire devices</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: oneWireInterface, ActionType: autoAdd, ID: {64baf50e-8ed4-4526-8b92-7e4662d6fa39})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: oneWireInterface, EventType: autoAdd, ID: {64baf50e-8ed4-4526-8b92-7e4662d6fa39})
|
||||
----------
|
||||
The name of the StateType ({64baf50e-8ed4-4526-8b92-7e4662d6fa39}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation>Automatisches hinzufügen von One-Wire-Geräten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="144"/>
|
||||
<source>Auto add one wire devices changed</source>
|
||||
<extracomment>The name of the EventType ({64baf50e-8ed4-4526-8b92-7e4662d6fa39}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation>Automatisches hinzufügen von One-Wire-Geräten geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="147"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="150"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="153"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="156"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="159"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="162"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="165"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="168"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="171"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="174"/>
|
||||
<source>Connected</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, EventType: connected, ID: {b99585e0-5147-46e3-9474-fba555bac68a})
|
||||
----------
|
||||
The name of the StateType ({b99585e0-5147-46e3-9474-fba555bac68a}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
The name of the ParamType (ThingClass: dualChannelSwitch, EventType: connected, ID: {fb6e63db-316b-4959-a349-0ff58a679f71})
|
||||
----------
|
||||
The name of the StateType ({fb6e63db-316b-4959-a349-0ff58a679f71}) of ThingClass dualChannelSwitch
|
||||
----------
|
||||
The name of the ParamType (ThingClass: singleChannelSwitch, EventType: connected, ID: {16bae8e8-bfe1-4648-9018-f6ce610f4236})
|
||||
----------
|
||||
The name of the StateType ({16bae8e8-bfe1-4648-9018-f6ce610f4236}) of ThingClass singleChannelSwitch
|
||||
----------
|
||||
The name of the ParamType (ThingClass: temperatureSensor, EventType: connected, ID: {32305a16-b042-4574-8bd7-ad99d9e8e5da})
|
||||
----------
|
||||
The name of the StateType ({32305a16-b042-4574-8bd7-ad99d9e8e5da}) of ThingClass temperatureSensor
|
||||
----------
|
||||
The name of the ParamType (ThingClass: oneWireInterface, EventType: connected, ID: {d0ded173-c382-4ee3-8e24-3647b4e16afa})
|
||||
----------
|
||||
The name of the StateType ({d0ded173-c382-4ee3-8e24-3647b4e16afa}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation>Verbunden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="177"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="180"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="183"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="186"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="189"/>
|
||||
<source>Connected changed</source>
|
||||
<extracomment>The name of the EventType ({b99585e0-5147-46e3-9474-fba555bac68a}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
The name of the EventType ({fb6e63db-316b-4959-a349-0ff58a679f71}) of ThingClass dualChannelSwitch
|
||||
----------
|
||||
The name of the EventType ({16bae8e8-bfe1-4648-9018-f6ce610f4236}) of ThingClass singleChannelSwitch
|
||||
----------
|
||||
The name of the EventType ({32305a16-b042-4574-8bd7-ad99d9e8e5da}) of ThingClass temperatureSensor
|
||||
----------
|
||||
The name of the EventType ({d0ded173-c382-4ee3-8e24-3647b4e16afa}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation>Verbunden geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="192"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="195"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="198"/>
|
||||
<source>Digital output</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: singleChannelSwitch, ActionType: digitalOutput, ID: {ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: singleChannelSwitch, EventType: digitalOutput, ID: {ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40})
|
||||
----------
|
||||
The name of the StateType ({ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) of ThingClass singleChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="201"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="204"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="207"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="210"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="213"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="216"/>
|
||||
<source>Digital output 1</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput1, ID: {78fa12c0-246c-4112-8be6-5943d3c3cda5})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: eightChannelSwitch, EventType: digitalOutput1, ID: {78fa12c0-246c-4112-8be6-5943d3c3cda5})
|
||||
----------
|
||||
The name of the StateType ({78fa12c0-246c-4112-8be6-5943d3c3cda5}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
The name of the ParamType (ThingClass: dualChannelSwitch, ActionType: digitalOutput1, ID: {f8b6b4a7-355c-4580-a676-8a4d0d619ff9})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: dualChannelSwitch, EventType: digitalOutput1, ID: {f8b6b4a7-355c-4580-a676-8a4d0d619ff9})
|
||||
----------
|
||||
The name of the StateType ({f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) of ThingClass dualChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="219"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="222"/>
|
||||
<source>Digital output 1 changed</source>
|
||||
<extracomment>The name of the EventType ({78fa12c0-246c-4112-8be6-5943d3c3cda5}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
The name of the EventType ({f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) of ThingClass dualChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 1 geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="225"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="228"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="231"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="234"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="237"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="240"/>
|
||||
<source>Digital output 2</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput2, ID: {c7d2f4a8-2b13-4a48-81a8-72f4908c775b})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: eightChannelSwitch, EventType: digitalOutput2, ID: {c7d2f4a8-2b13-4a48-81a8-72f4908c775b})
|
||||
----------
|
||||
The name of the StateType ({c7d2f4a8-2b13-4a48-81a8-72f4908c775b}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
The name of the ParamType (ThingClass: dualChannelSwitch, ActionType: digitalOutput2, ID: {82a78aed-5994-4af5-aecb-1806be5de1f3})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: dualChannelSwitch, EventType: digitalOutput2, ID: {82a78aed-5994-4af5-aecb-1806be5de1f3})
|
||||
----------
|
||||
The name of the StateType ({82a78aed-5994-4af5-aecb-1806be5de1f3}) of ThingClass dualChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="243"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="246"/>
|
||||
<source>Digital output 2 changed</source>
|
||||
<extracomment>The name of the EventType ({c7d2f4a8-2b13-4a48-81a8-72f4908c775b}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
The name of the EventType ({82a78aed-5994-4af5-aecb-1806be5de1f3}) of ThingClass dualChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 2 geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="249"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="252"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="255"/>
|
||||
<source>Digital output 3</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput3, ID: {4b2ac595-eba9-4364-8cd7-00ff8bccda5a})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: eightChannelSwitch, EventType: digitalOutput3, ID: {4b2ac595-eba9-4364-8cd7-00ff8bccda5a})
|
||||
----------
|
||||
The name of the StateType ({4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="258"/>
|
||||
<source>Digital output 3 changed</source>
|
||||
<extracomment>The name of the EventType ({4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 3 geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="261"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="264"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="267"/>
|
||||
<source>Digital output 4</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput4, ID: {bbbd1863-ef04-4687-803d-3c9ccdfc8d8f})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: eightChannelSwitch, EventType: digitalOutput4, ID: {bbbd1863-ef04-4687-803d-3c9ccdfc8d8f})
|
||||
----------
|
||||
The name of the StateType ({bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="270"/>
|
||||
<source>Digital output 4 changed</source>
|
||||
<extracomment>The name of the EventType ({bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 4 geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="273"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="276"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="279"/>
|
||||
<source>Digital output 5</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput5, ID: {50855d2b-a700-4030-8674-fee00cc0b4e2})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: eightChannelSwitch, EventType: digitalOutput5, ID: {50855d2b-a700-4030-8674-fee00cc0b4e2})
|
||||
----------
|
||||
The name of the StateType ({50855d2b-a700-4030-8674-fee00cc0b4e2}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="282"/>
|
||||
<source>Digital output 5 changed</source>
|
||||
<extracomment>The name of the EventType ({50855d2b-a700-4030-8674-fee00cc0b4e2}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 5 geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="285"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="288"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="291"/>
|
||||
<source>Digital output 6</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput6, ID: {a91ce593-09ba-4754-8a2e-e3f507313585})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: eightChannelSwitch, EventType: digitalOutput6, ID: {a91ce593-09ba-4754-8a2e-e3f507313585})
|
||||
----------
|
||||
The name of the StateType ({a91ce593-09ba-4754-8a2e-e3f507313585}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="294"/>
|
||||
<source>Digital output 6 changed</source>
|
||||
<extracomment>The name of the EventType ({a91ce593-09ba-4754-8a2e-e3f507313585}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 6 geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="297"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="300"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="303"/>
|
||||
<source>Digital output 7</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput7, ID: {5f46047c-b00d-486f-b169-b738fbc89cdb})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: eightChannelSwitch, EventType: digitalOutput7, ID: {5f46047c-b00d-486f-b169-b738fbc89cdb})
|
||||
----------
|
||||
The name of the StateType ({5f46047c-b00d-486f-b169-b738fbc89cdb}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="306"/>
|
||||
<source>Digital output 7 changed</source>
|
||||
<extracomment>The name of the EventType ({5f46047c-b00d-486f-b169-b738fbc89cdb}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 7 geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="309"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="312"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="315"/>
|
||||
<source>Digital output 8</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput8, ID: {63334a17-0847-4f53-8007-1b5e72b88aa8})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: eightChannelSwitch, EventType: digitalOutput8, ID: {63334a17-0847-4f53-8007-1b5e72b88aa8})
|
||||
----------
|
||||
The name of the StateType ({63334a17-0847-4f53-8007-1b5e72b88aa8}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="318"/>
|
||||
<source>Digital output 8 changed</source>
|
||||
<extracomment>The name of the EventType ({63334a17-0847-4f53-8007-1b5e72b88aa8}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang 8 geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="321"/>
|
||||
<source>Digital output changed</source>
|
||||
<extracomment>The name of the EventType ({ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) of ThingClass singleChannelSwitch</extracomment>
|
||||
<translation>Digitaler Ausgang geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="324"/>
|
||||
<source>OWFS init arguments</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: oneWireInterface, Type: thing, ID: {a0e773ff-fd19-499e-96f0-830168229cd3})</extracomment>
|
||||
<translation>OWFS-Init-Argumente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="327"/>
|
||||
<source>OWFS interface</source>
|
||||
<extracomment>The name of the ThingClass ({c36c68d9-6182-4ae1-972d-b8b5e0cf185f})</extracomment>
|
||||
<translation>OWFS Schnittstelle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="330"/>
|
||||
<source>One Wire</source>
|
||||
<extracomment>The name of the plugin OneWire ({2c697fb7-0645-466d-9cb9-aa1922c85bee})</extracomment>
|
||||
<translation>One Wire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="333"/>
|
||||
<source>One wire</source>
|
||||
<extracomment>The name of the vendor ({cecc5fae-29cf-40c0-b1f8-0af2dc8e8a63})</extracomment>
|
||||
<translation>One Wire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="336"/>
|
||||
<source>Set auto add mode</source>
|
||||
<extracomment>The name of the ActionType ({64baf50e-8ed4-4526-8b92-7e4662d6fa39}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation>Setze automatischen Add-Modus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="339"/>
|
||||
<source>Set digital output</source>
|
||||
<extracomment>The name of the ActionType ({ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) of ThingClass singleChannelSwitch</extracomment>
|
||||
<translation>Setze digitalen Ausgang</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="342"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="345"/>
|
||||
<source>Set digital output 1</source>
|
||||
<extracomment>The name of the ActionType ({78fa12c0-246c-4112-8be6-5943d3c3cda5}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
The name of the ActionType ({f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) of ThingClass dualChannelSwitch</extracomment>
|
||||
<translation>Setze digitalen Ausgang 1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="348"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="351"/>
|
||||
<source>Set digital output 2</source>
|
||||
<extracomment>The name of the ActionType ({c7d2f4a8-2b13-4a48-81a8-72f4908c775b}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
The name of the ActionType ({82a78aed-5994-4af5-aecb-1806be5de1f3}) of ThingClass dualChannelSwitch</extracomment>
|
||||
<translation>Setze digitalen Ausgang 2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="354"/>
|
||||
<source>Set digital output 3</source>
|
||||
<extracomment>The name of the ActionType ({4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Setze digitalen Ausgang 3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="357"/>
|
||||
<source>Set digital output 4</source>
|
||||
<extracomment>The name of the ActionType ({bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Setze digitalen Ausgang 4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="360"/>
|
||||
<source>Set digital output 5</source>
|
||||
<extracomment>The name of the ActionType ({50855d2b-a700-4030-8674-fee00cc0b4e2}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Setze digitalen Ausgang 5</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="363"/>
|
||||
<source>Set digital output 6</source>
|
||||
<extracomment>The name of the ActionType ({a91ce593-09ba-4754-8a2e-e3f507313585}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Setze digitalen Ausgang 6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="366"/>
|
||||
<source>Set digital output 7</source>
|
||||
<extracomment>The name of the ActionType ({5f46047c-b00d-486f-b169-b738fbc89cdb}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Setze digitalen Ausgang 7</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="369"/>
|
||||
<source>Set digital output 8</source>
|
||||
<extracomment>The name of the ActionType ({63334a17-0847-4f53-8007-1b5e72b88aa8}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation>Setze digitalen Ausgang 8</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="372"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="375"/>
|
||||
<source>Temperature</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: temperatureSensor, EventType: temperature, ID: {b04ee2a5-9b27-4ffc-9e12-7e05f5a41690})
|
||||
----------
|
||||
The name of the StateType ({b04ee2a5-9b27-4ffc-9e12-7e05f5a41690}) of ThingClass temperatureSensor</extracomment>
|
||||
<translation>Temperatur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="378"/>
|
||||
<source>Temperature Sensor</source>
|
||||
<extracomment>The name of the ThingClass ({e13beb24-953c-48b3-9262-7cde31d42ef5})</extracomment>
|
||||
<translation>Termperatursensor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="381"/>
|
||||
<source>Temperature changed</source>
|
||||
<extracomment>The name of the EventType ({b04ee2a5-9b27-4ffc-9e12-7e05f5a41690}) of ThingClass temperatureSensor</extracomment>
|
||||
<translation>Temperatur geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="384"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="387"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="390"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="393"/>
|
||||
<source>Type</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, Type: thing, ID: {34c8f771-4141-4183-9eaf-becbaf362ac8})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: dualChannelSwitch, Type: thing, ID: {b71ed57b-e768-4119-829e-a0f2c9fa5e18})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: singleChannelSwitch, Type: thing, ID: {6efc8cb6-81ae-45c0-8910-708401d1ba68})
|
||||
----------
|
||||
The name of the ParamType (ThingClass: temperatureSensor, Type: thing, ID: {5005822d-6a32-4bb8-9b77-f79da7382f76})</extracomment>
|
||||
<translation>Typ</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
@ -4,54 +4,58 @@
|
||||
<context>
|
||||
<name>IntegrationPluginOneWire</name>
|
||||
<message>
|
||||
<location filename="../integrationpluginonewire.cpp" line="54"/>
|
||||
<location filename="../integrationpluginonewire.cpp" line="57"/>
|
||||
<source>No one wire interface initialized. Please set up a one wire interface first.</source>
|
||||
<extracomment>Error discovering one wire devices</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../integrationpluginonewire.cpp" line="72"/>
|
||||
<location filename="../integrationpluginonewire.cpp" line="110"/>
|
||||
<source>All configured one wire interfaces are set up to automatically add new devices.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../integrationpluginonewire.cpp" line="91"/>
|
||||
<location filename="../integrationpluginonewire.cpp" line="129"/>
|
||||
<source>There can only be one one wire interface per system.</source>
|
||||
<extracomment>Error setting up thing</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../integrationpluginonewire.cpp" line="100"/>
|
||||
<location filename="../integrationpluginonewire.cpp" line="138"/>
|
||||
<source>Error initializing one wire interface.</source>
|
||||
<extracomment>Error setting up thing</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../integrationpluginonewire.cpp" line="160"/>
|
||||
<source>No 1-Wire interface available</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>OneWire</name>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="102"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="114"/>
|
||||
<source>1-channel switch</source>
|
||||
<extracomment>The name of the ThingClass ({6db42501-5451-4aac-9525-5f886b3188e2})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="105"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="117"/>
|
||||
<source>2-channel switch</source>
|
||||
<extracomment>The name of the ThingClass ({023f2b93-61e1-4422-97f5-3d5c14a6628f})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="108"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="120"/>
|
||||
<source>8-channel switch</source>
|
||||
<extracomment>The name of the ThingClass ({71691119-3bda-4424-b853-1a00f21086e1})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="111"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="114"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="117"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="120"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="123"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="126"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="129"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="132"/>
|
||||
<source>Address</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, Type: thing, ID: {e3e6e596-0cd4-42a3-8401-ccf6349314b7})
|
||||
----------
|
||||
@ -63,9 +67,9 @@ The name of the ParamType (ThingClass: temperatureSensor, Type: thing, ID: {b436
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="123"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="126"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="129"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="135"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="138"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="141"/>
|
||||
<source>Auto add one wire devices</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: oneWireInterface, ActionType: autoAdd, ID: {64baf50e-8ed4-4526-8b92-7e4662d6fa39})
|
||||
----------
|
||||
@ -75,15 +79,66 @@ The name of the StateType ({64baf50e-8ed4-4526-8b92-7e4662d6fa39}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="132"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="144"/>
|
||||
<source>Auto add one wire devices changed</source>
|
||||
<extracomment>The name of the EventType ({64baf50e-8ed4-4526-8b92-7e4662d6fa39}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="135"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="138"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="141"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="147"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="150"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="153"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="156"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="159"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="162"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="165"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="168"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="171"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="174"/>
|
||||
<source>Connected</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, EventType: connected, ID: {b99585e0-5147-46e3-9474-fba555bac68a})
|
||||
----------
|
||||
The name of the StateType ({b99585e0-5147-46e3-9474-fba555bac68a}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
The name of the ParamType (ThingClass: dualChannelSwitch, EventType: connected, ID: {fb6e63db-316b-4959-a349-0ff58a679f71})
|
||||
----------
|
||||
The name of the StateType ({fb6e63db-316b-4959-a349-0ff58a679f71}) of ThingClass dualChannelSwitch
|
||||
----------
|
||||
The name of the ParamType (ThingClass: singleChannelSwitch, EventType: connected, ID: {16bae8e8-bfe1-4648-9018-f6ce610f4236})
|
||||
----------
|
||||
The name of the StateType ({16bae8e8-bfe1-4648-9018-f6ce610f4236}) of ThingClass singleChannelSwitch
|
||||
----------
|
||||
The name of the ParamType (ThingClass: temperatureSensor, EventType: connected, ID: {32305a16-b042-4574-8bd7-ad99d9e8e5da})
|
||||
----------
|
||||
The name of the StateType ({32305a16-b042-4574-8bd7-ad99d9e8e5da}) of ThingClass temperatureSensor
|
||||
----------
|
||||
The name of the ParamType (ThingClass: oneWireInterface, EventType: connected, ID: {d0ded173-c382-4ee3-8e24-3647b4e16afa})
|
||||
----------
|
||||
The name of the StateType ({d0ded173-c382-4ee3-8e24-3647b4e16afa}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="177"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="180"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="183"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="186"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="189"/>
|
||||
<source>Connected changed</source>
|
||||
<extracomment>The name of the EventType ({b99585e0-5147-46e3-9474-fba555bac68a}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
The name of the EventType ({fb6e63db-316b-4959-a349-0ff58a679f71}) of ThingClass dualChannelSwitch
|
||||
----------
|
||||
The name of the EventType ({16bae8e8-bfe1-4648-9018-f6ce610f4236}) of ThingClass singleChannelSwitch
|
||||
----------
|
||||
The name of the EventType ({32305a16-b042-4574-8bd7-ad99d9e8e5da}) of ThingClass temperatureSensor
|
||||
----------
|
||||
The name of the EventType ({d0ded173-c382-4ee3-8e24-3647b4e16afa}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="192"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="195"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="198"/>
|
||||
<source>Digital output</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: singleChannelSwitch, ActionType: digitalOutput, ID: {ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40})
|
||||
----------
|
||||
@ -93,12 +148,12 @@ The name of the StateType ({ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="144"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="147"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="150"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="153"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="156"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="159"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="201"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="204"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="207"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="210"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="213"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="216"/>
|
||||
<source>Digital output 1</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput1, ID: {78fa12c0-246c-4112-8be6-5943d3c3cda5})
|
||||
----------
|
||||
@ -114,8 +169,8 @@ The name of the StateType ({f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="162"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="165"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="219"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="222"/>
|
||||
<source>Digital output 1 changed</source>
|
||||
<extracomment>The name of the EventType ({78fa12c0-246c-4112-8be6-5943d3c3cda5}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
@ -123,12 +178,12 @@ The name of the EventType ({f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="168"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="171"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="174"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="177"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="180"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="183"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="225"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="228"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="231"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="234"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="237"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="240"/>
|
||||
<source>Digital output 2</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput2, ID: {c7d2f4a8-2b13-4a48-81a8-72f4908c775b})
|
||||
----------
|
||||
@ -144,8 +199,8 @@ The name of the StateType ({82a78aed-5994-4af5-aecb-1806be5de1f3}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="186"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="189"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="243"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="246"/>
|
||||
<source>Digital output 2 changed</source>
|
||||
<extracomment>The name of the EventType ({c7d2f4a8-2b13-4a48-81a8-72f4908c775b}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
@ -153,9 +208,9 @@ The name of the EventType ({82a78aed-5994-4af5-aecb-1806be5de1f3}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="192"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="195"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="198"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="249"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="252"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="255"/>
|
||||
<source>Digital output 3</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput3, ID: {4b2ac595-eba9-4364-8cd7-00ff8bccda5a})
|
||||
----------
|
||||
@ -165,15 +220,15 @@ The name of the StateType ({4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="201"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="258"/>
|
||||
<source>Digital output 3 changed</source>
|
||||
<extracomment>The name of the EventType ({4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="204"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="207"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="210"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="261"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="264"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="267"/>
|
||||
<source>Digital output 4</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput4, ID: {bbbd1863-ef04-4687-803d-3c9ccdfc8d8f})
|
||||
----------
|
||||
@ -183,15 +238,15 @@ The name of the StateType ({bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="213"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="270"/>
|
||||
<source>Digital output 4 changed</source>
|
||||
<extracomment>The name of the EventType ({bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="216"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="219"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="222"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="273"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="276"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="279"/>
|
||||
<source>Digital output 5</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput5, ID: {50855d2b-a700-4030-8674-fee00cc0b4e2})
|
||||
----------
|
||||
@ -201,15 +256,15 @@ The name of the StateType ({50855d2b-a700-4030-8674-fee00cc0b4e2}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="225"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="282"/>
|
||||
<source>Digital output 5 changed</source>
|
||||
<extracomment>The name of the EventType ({50855d2b-a700-4030-8674-fee00cc0b4e2}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="228"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="231"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="234"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="285"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="288"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="291"/>
|
||||
<source>Digital output 6</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput6, ID: {a91ce593-09ba-4754-8a2e-e3f507313585})
|
||||
----------
|
||||
@ -219,15 +274,15 @@ The name of the StateType ({a91ce593-09ba-4754-8a2e-e3f507313585}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="237"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="294"/>
|
||||
<source>Digital output 6 changed</source>
|
||||
<extracomment>The name of the EventType ({a91ce593-09ba-4754-8a2e-e3f507313585}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="240"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="243"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="246"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="297"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="300"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="303"/>
|
||||
<source>Digital output 7</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput7, ID: {5f46047c-b00d-486f-b169-b738fbc89cdb})
|
||||
----------
|
||||
@ -237,15 +292,15 @@ The name of the StateType ({5f46047c-b00d-486f-b169-b738fbc89cdb}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="249"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="306"/>
|
||||
<source>Digital output 7 changed</source>
|
||||
<extracomment>The name of the EventType ({5f46047c-b00d-486f-b169-b738fbc89cdb}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="252"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="255"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="258"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="309"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="312"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="315"/>
|
||||
<source>Digital output 8</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, ActionType: digitalOutput8, ID: {63334a17-0847-4f53-8007-1b5e72b88aa8})
|
||||
----------
|
||||
@ -255,56 +310,56 @@ The name of the StateType ({63334a17-0847-4f53-8007-1b5e72b88aa8}) of ThingClass
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="261"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="318"/>
|
||||
<source>Digital output 8 changed</source>
|
||||
<extracomment>The name of the EventType ({63334a17-0847-4f53-8007-1b5e72b88aa8}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="264"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="321"/>
|
||||
<source>Digital output changed</source>
|
||||
<extracomment>The name of the EventType ({ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) of ThingClass singleChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="267"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="324"/>
|
||||
<source>OWFS init arguments</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: oneWireInterface, Type: thing, ID: {a0e773ff-fd19-499e-96f0-830168229cd3})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="270"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="327"/>
|
||||
<source>OWFS interface</source>
|
||||
<extracomment>The name of the ThingClass ({c36c68d9-6182-4ae1-972d-b8b5e0cf185f})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="330"/>
|
||||
<source>One Wire</source>
|
||||
<extracomment>The name of the plugin OneWire ({2c697fb7-0645-466d-9cb9-aa1922c85bee})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="273"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="333"/>
|
||||
<source>One wire</source>
|
||||
<extracomment>The name of the vendor ({cecc5fae-29cf-40c0-b1f8-0af2dc8e8a63})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="276"/>
|
||||
<source>One wire interface</source>
|
||||
<extracomment>The name of the ThingClass ({c36c68d9-6182-4ae1-972d-b8b5e0cf185f})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="279"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="336"/>
|
||||
<source>Set auto add mode</source>
|
||||
<extracomment>The name of the ActionType ({64baf50e-8ed4-4526-8b92-7e4662d6fa39}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="282"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="339"/>
|
||||
<source>Set digital output</source>
|
||||
<extracomment>The name of the ActionType ({ca10a9fd-e4e0-4608-a2d2-6a4ce9644f40}) of ThingClass singleChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="285"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="288"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="342"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="345"/>
|
||||
<source>Set digital output 1</source>
|
||||
<extracomment>The name of the ActionType ({78fa12c0-246c-4112-8be6-5943d3c3cda5}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
@ -312,8 +367,8 @@ The name of the ActionType ({f8b6b4a7-355c-4580-a676-8a4d0d619ff9}) of ThingClas
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="291"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="294"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="348"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="351"/>
|
||||
<source>Set digital output 2</source>
|
||||
<extracomment>The name of the ActionType ({c7d2f4a8-2b13-4a48-81a8-72f4908c775b}) of ThingClass eightChannelSwitch
|
||||
----------
|
||||
@ -321,52 +376,67 @@ The name of the ActionType ({82a78aed-5994-4af5-aecb-1806be5de1f3}) of ThingClas
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="297"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="354"/>
|
||||
<source>Set digital output 3</source>
|
||||
<extracomment>The name of the ActionType ({4b2ac595-eba9-4364-8cd7-00ff8bccda5a}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="300"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="357"/>
|
||||
<source>Set digital output 4</source>
|
||||
<extracomment>The name of the ActionType ({bbbd1863-ef04-4687-803d-3c9ccdfc8d8f}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="303"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="360"/>
|
||||
<source>Set digital output 5</source>
|
||||
<extracomment>The name of the ActionType ({50855d2b-a700-4030-8674-fee00cc0b4e2}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="306"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="363"/>
|
||||
<source>Set digital output 6</source>
|
||||
<extracomment>The name of the ActionType ({a91ce593-09ba-4754-8a2e-e3f507313585}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="309"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="366"/>
|
||||
<source>Set digital output 7</source>
|
||||
<extracomment>The name of the ActionType ({5f46047c-b00d-486f-b169-b738fbc89cdb}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="312"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="369"/>
|
||||
<source>Set digital output 8</source>
|
||||
<extracomment>The name of the ActionType ({63334a17-0847-4f53-8007-1b5e72b88aa8}) of ThingClass eightChannelSwitch</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="315"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="372"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="375"/>
|
||||
<source>Temperature</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: temperatureSensor, EventType: temperature, ID: {b04ee2a5-9b27-4ffc-9e12-7e05f5a41690})
|
||||
----------
|
||||
The name of the StateType ({b04ee2a5-9b27-4ffc-9e12-7e05f5a41690}) of ThingClass temperatureSensor</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="378"/>
|
||||
<source>Temperature Sensor</source>
|
||||
<extracomment>The name of the ThingClass ({e13beb24-953c-48b3-9262-7cde31d42ef5})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="318"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="321"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="324"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="327"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="381"/>
|
||||
<source>Temperature changed</source>
|
||||
<extracomment>The name of the EventType ({b04ee2a5-9b27-4ffc-9e12-7e05f5a41690}) of ThingClass temperatureSensor</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="384"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="387"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="390"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="393"/>
|
||||
<source>Type</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: eightChannelSwitch, Type: thing, ID: {34c8f771-4141-4183-9eaf-becbaf362ac8})
|
||||
----------
|
||||
@ -377,35 +447,5 @@ The name of the ParamType (ThingClass: singleChannelSwitch, Type: thing, ID: {6e
|
||||
The name of the ParamType (ThingClass: temperatureSensor, Type: thing, ID: {5005822d-6a32-4bb8-9b77-f79da7382f76})</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="330"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="333"/>
|
||||
<source>connected</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: oneWireInterface, EventType: connected, ID: {d0ded173-c382-4ee3-8e24-3647b4e16afa})
|
||||
----------
|
||||
The name of the StateType ({d0ded173-c382-4ee3-8e24-3647b4e16afa}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="336"/>
|
||||
<source>connected changed</source>
|
||||
<extracomment>The name of the EventType ({d0ded173-c382-4ee3-8e24-3647b4e16afa}) of ThingClass oneWireInterface</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="339"/>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="342"/>
|
||||
<source>temperature</source>
|
||||
<extracomment>The name of the ParamType (ThingClass: temperatureSensor, EventType: temperature, ID: {b04ee2a5-9b27-4ffc-9e12-7e05f5a41690})
|
||||
----------
|
||||
The name of the StateType ({b04ee2a5-9b27-4ffc-9e12-7e05f5a41690}) of ThingClass temperatureSensor</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../../build-nymea-plugins-Desktop-Debug/onewire/plugininfo.h" line="345"/>
|
||||
<source>temperature changed</source>
|
||||
<extracomment>The name of the EventType ({b04ee2a5-9b27-4ffc-9e12-7e05f5a41690}) of ThingClass temperatureSensor</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
||||
92
onewire/w1.cpp
Normal file
92
onewire/w1.cpp
Normal file
@ -0,0 +1,92 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Copyright 2013 - 2020, nymea GmbH
|
||||
* Contact: contact@nymea.io
|
||||
*
|
||||
* This file is part of nymea.
|
||||
* This project including source code and documentation is protected by
|
||||
* copyright law, and remains the property of nymea GmbH. All rights, including
|
||||
* reproduction, publication, editing and translation, are reserved. The use of
|
||||
* this project is subject to the terms of a license agreement to be concluded
|
||||
* with nymea GmbH in accordance with the terms of use of nymea GmbH, available
|
||||
* under https://nymea.io/license
|
||||
*
|
||||
* GNU Lesser General Public License Usage
|
||||
* Alternatively, this project may be redistributed and/or modified under the
|
||||
* terms of the GNU Lesser General Public License as published by the Free
|
||||
* Software Foundation; version 3. This project is distributed in the hope that
|
||||
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this project. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* For any further details and any questions please contact us under
|
||||
* contact@nymea.io or see our FAQ/Licensing Information on
|
||||
* https://nymea.io/license/faq
|
||||
*
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#include "w1.h"
|
||||
#include "extern-plugininfo.h"
|
||||
|
||||
W1::W1(QObject *parent) :
|
||||
QObject(parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
QStringList W1::discoverDevices()
|
||||
{
|
||||
QStringList deviceList;
|
||||
|
||||
QDir w1SysFSDir("/sys/bus/w1/devices/");
|
||||
if (!w1SysFSDir.exists()) {
|
||||
qCDebug(dcOneWire()) << "W1 kernel not loaded";
|
||||
return deviceList;
|
||||
}
|
||||
w1SysFSDir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
|
||||
w1SysFSDir.setSorting(QDir::Name);
|
||||
|
||||
QFileInfoList list = w1SysFSDir.entryInfoList();
|
||||
for (int i = 0; i < list.size(); ++i) {
|
||||
QFileInfo fileInfo = list.at(i);
|
||||
if(fileInfo.fileName()[2] == '-') {
|
||||
qCDebug(dcOneWire()) << "Found one wire device" << fileInfo.filePath();
|
||||
deviceList.append(fileInfo.fileName());
|
||||
}
|
||||
}
|
||||
return deviceList;
|
||||
}
|
||||
|
||||
bool W1::interfaceIsAvailable()
|
||||
{
|
||||
QDir w1SysFSDir("/sys/bus/w1/devices/");
|
||||
return w1SysFSDir.exists();
|
||||
}
|
||||
|
||||
bool W1::deviceAvailable(const QString &address)
|
||||
{
|
||||
QDir temperatureSensor("/sys/bus/w1/devices/"+address);
|
||||
return temperatureSensor.exists();
|
||||
}
|
||||
|
||||
double W1::getTemperature(const QString &address)
|
||||
{
|
||||
QDir temperatureSensor("/sys/bus/w1/devices/"+address);
|
||||
if (temperatureSensor.exists()) {
|
||||
QFile temperature(temperatureSensor.path() +"/temperature");
|
||||
if (!temperature.exists()) {
|
||||
qCWarning(dcOneWire()) << "Directory doesn't exist" << temperature.fileName();
|
||||
}
|
||||
if (!temperature.open(QIODevice::ReadOnly | QIODevice::Text)){
|
||||
qCWarning(dcOneWire()) << "Could not open file" << temperature.fileName();
|
||||
return 0;
|
||||
}
|
||||
return temperature.readLine().toInt()/1000.00;
|
||||
} else {
|
||||
qCWarning(dcOneWire()) << "Could not find device" << temperatureSensor.currentPath();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
53
onewire/w1.h
Normal file
53
onewire/w1.h
Normal file
@ -0,0 +1,53 @@
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
*
|
||||
* Copyright 2013 - 2020, nymea GmbH
|
||||
* Contact: contact@nymea.io
|
||||
*
|
||||
* This file is part of nymea.
|
||||
* This project including source code and documentation is protected by
|
||||
* copyright law, and remains the property of nymea GmbH. All rights, including
|
||||
* reproduction, publication, editing and translation, are reserved. The use of
|
||||
* this project is subject to the terms of a license agreement to be concluded
|
||||
* with nymea GmbH in accordance with the terms of use of nymea GmbH, available
|
||||
* under https://nymea.io/license
|
||||
*
|
||||
* GNU Lesser General Public License Usage
|
||||
* Alternatively, this project may be redistributed and/or modified under the
|
||||
* terms of the GNU Lesser General Public License as published by the Free
|
||||
* Software Foundation; version 3. This project is distributed in the hope that
|
||||
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this project. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* For any further details and any questions please contact us under
|
||||
* contact@nymea.io or see our FAQ/Licensing Information on
|
||||
* https://nymea.io/license/faq
|
||||
*
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
#ifndef W1_H
|
||||
#define W1_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
|
||||
class W1 : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
||||
explicit W1(QObject *parent = nullptr);
|
||||
|
||||
QStringList discoverDevices();
|
||||
bool interfaceIsAvailable();
|
||||
bool deviceAvailable(const QString &address);
|
||||
double getTemperature(const QString &address);
|
||||
|
||||
private:
|
||||
QList<QDir> m_w1BusMasters;
|
||||
};
|
||||
#endif // W1_H
|
||||
Loading…
x
Reference in New Issue
Block a user