mirror of
https://github.com/nymea/nymea-plugins.git
synced 2026-10-23 14:43:44 +02:00
Some fixes
This commit is contained in:
parent
9c87f4c470
commit
5954d1b645
@ -671,6 +671,10 @@ void IntegrationPluginOwlet::executeAction(ThingActionInfo *info)
|
|||||||
{
|
{
|
||||||
if (info->thing()->thingClassId() == digitalOutputThingClassId) {
|
if (info->thing()->thingClassId() == digitalOutputThingClassId) {
|
||||||
OwletClient *client = m_clients.value(info->thing());
|
OwletClient *client = m_clients.value(info->thing());
|
||||||
|
if (!client->isConnected()) {
|
||||||
|
info->finish(Thing::ThingErrorHardwareNotAvailable, QT_TR_NOOP("Owlet is not connected."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
QVariantMap params;
|
QVariantMap params;
|
||||||
params.insert("id", info->thing()->paramValue(digitalOutputThingPinParamTypeId).toInt());
|
params.insert("id", info->thing()->paramValue(digitalOutputThingPinParamTypeId).toInt());
|
||||||
params.insert("power", info->action().paramValue(digitalOutputPowerActionPowerParamTypeId).toBool());
|
params.insert("power", info->action().paramValue(digitalOutputPowerActionPowerParamTypeId).toBool());
|
||||||
@ -689,12 +693,19 @@ void IntegrationPluginOwlet::executeAction(ThingActionInfo *info)
|
|||||||
info->finish(Thing::ThingErrorHardwareFailure);
|
info->finish(Thing::ThingErrorHardwareFailure);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
connect(client, &OwletClient::disconnected, info, [=](){
|
||||||
|
qCDebug(dcOwlet()) << "Owlet disconnected during pending action";
|
||||||
|
info->finish(Thing::ThingErrorHardwareFailure);
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (info->thing()->thingClassId() == ws2812ThingClassId) {
|
if (info->thing()->thingClassId() == ws2812ThingClassId) {
|
||||||
OwletClient *client = m_clients.value(info->thing());
|
OwletClient *client = m_clients.value(info->thing());
|
||||||
|
if (!client->isConnected()) {
|
||||||
|
info->finish(Thing::ThingErrorHardwareNotAvailable, QT_TR_NOOP("Owlet is not connected."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
QVariantMap params;
|
QVariantMap params;
|
||||||
params.insert("id", info->thing()->paramValue(ws2812ThingPinParamTypeId).toUInt());
|
params.insert("id", info->thing()->paramValue(ws2812ThingPinParamTypeId).toUInt());
|
||||||
|
|
||||||
@ -721,11 +732,17 @@ void IntegrationPluginOwlet::executeAction(ThingActionInfo *info)
|
|||||||
qCDebug(dcOwlet()) << "reply from owlet:" << params;
|
qCDebug(dcOwlet()) << "reply from owlet:" << params;
|
||||||
QString error = params.value("error").toString();
|
QString error = params.value("error").toString();
|
||||||
if (error == "GPIOErrorNoError") {
|
if (error == "GPIOErrorNoError") {
|
||||||
|
info->thing()->setStateValue(info->action().actionTypeId(), info->action().paramValue(info->action().actionTypeId()));
|
||||||
info->finish(Thing::ThingErrorNoError);
|
info->finish(Thing::ThingErrorNoError);
|
||||||
} else {
|
} else {
|
||||||
info->finish(Thing::ThingErrorHardwareFailure);
|
info->finish(Thing::ThingErrorHardwareFailure);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
connect(client, &OwletClient::disconnected, info, [=](){
|
||||||
|
qCDebug(dcOwlet()) << "Owlet disconnected during pending action";
|
||||||
|
info->finish(Thing::ThingErrorHardwareFailure);
|
||||||
|
});
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -22,6 +22,11 @@ OwletClient::OwletClient(OwletTransport *transport, QObject *parent) :
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool OwletClient::isConnected() const
|
||||||
|
{
|
||||||
|
return m_transport->connected();
|
||||||
|
}
|
||||||
|
|
||||||
OwletTransport *OwletClient::transport() const
|
OwletTransport *OwletClient::transport() const
|
||||||
{
|
{
|
||||||
return m_transport;
|
return m_transport;
|
||||||
|
|||||||
@ -13,6 +13,8 @@ class OwletClient : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit OwletClient(OwletTransport *transport, QObject *parent = nullptr);
|
explicit OwletClient(OwletTransport *transport, QObject *parent = nullptr);
|
||||||
|
|
||||||
|
bool isConnected() const;
|
||||||
|
|
||||||
OwletTransport *transport() const;
|
OwletTransport *transport() const;
|
||||||
|
|
||||||
int sendCommand(const QString &method, const QVariantMap ¶ms = QVariantMap());
|
int sendCommand(const QString &method, const QVariantMap ¶ms = QVariantMap());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user