added venetian blind angle logic
parent
f3a6c961b4
commit
234bb155ff
|
|
@ -116,12 +116,12 @@ void IntegrationPluginGenericThings::setupThing(ThingSetupInfo *info)
|
||||||
thing->setStateValue(venetianBlindPercentageStateTypeId, currentPercentage);
|
thing->setStateValue(venetianBlindPercentageStateTypeId, currentPercentage);
|
||||||
}
|
}
|
||||||
} else if (thing->stateValue(venetianBlindStatusStateTypeId).toString() == "Opening") {
|
} else if (thing->stateValue(venetianBlindStatusStateTypeId).toString() == "Opening") {
|
||||||
currentPercentage--;
|
|
||||||
if (currentPercentage == 0) {
|
if (currentPercentage == 0) {
|
||||||
setBlindState(BlindStateStopped, thing);
|
setBlindState(BlindStateStopped, thing);
|
||||||
qCDebug(dcGenericThings()) << "Venetian blind is opened, stopping timer";
|
qCDebug(dcGenericThings()) << "Venetian blind is opened, stopping timer";
|
||||||
} else {
|
} else {
|
||||||
currentPercentage++;
|
currentPercentage--;
|
||||||
thing->setStateValue(venetianBlindPercentageStateTypeId, currentPercentage);
|
thing->setStateValue(venetianBlindPercentageStateTypeId, currentPercentage);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -153,7 +153,7 @@ void IntegrationPluginGenericThings::setupThing(ThingSetupInfo *info)
|
||||||
m_venetianBlindAngleTimer.value(thing)->stop();
|
m_venetianBlindAngleTimer.value(thing)->stop();
|
||||||
qCWarning(dcGenericThings()) << "Venetian blind overshoot angle boundaries";
|
qCWarning(dcGenericThings()) << "Venetian blind overshoot angle boundaries";
|
||||||
}
|
}
|
||||||
thing->setStateValue(venetianBlindPercentageStateTypeId, currentAngle);
|
thing->setStateValue(venetianBlindAngleStateTypeId, currentAngle);
|
||||||
} else if (thing->stateValue(venetianBlindStatusStateTypeId).toString() == "Opening") {
|
} else if (thing->stateValue(venetianBlindStatusStateTypeId).toString() == "Opening") {
|
||||||
|
|
||||||
if (currentAngle > -90) {
|
if (currentAngle > -90) {
|
||||||
|
|
@ -165,7 +165,7 @@ void IntegrationPluginGenericThings::setupThing(ThingSetupInfo *info)
|
||||||
m_venetianBlindAngleTimer.value(thing)->stop();
|
m_venetianBlindAngleTimer.value(thing)->stop();
|
||||||
qCWarning(dcGenericThings()) << "Venetian blind overshoot angle boundaries";
|
qCWarning(dcGenericThings()) << "Venetian blind overshoot angle boundaries";
|
||||||
}
|
}
|
||||||
thing->setStateValue(venetianBlindPercentageStateTypeId, currentAngle);
|
thing->setStateValue(venetianBlindAngleStateTypeId, currentAngle);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_venetianBlindTargetAngle.contains(thing)) {
|
if (m_venetianBlindTargetAngle.contains(thing)) {
|
||||||
|
|
@ -476,6 +476,7 @@ void IntegrationPluginGenericThings::thingRemoved(Thing *thing)
|
||||||
m_extendedBlindPercentageTimer.take(thing)->deleteLater();
|
m_extendedBlindPercentageTimer.take(thing)->deleteLater();
|
||||||
m_extendedBlindTargetPercentage.remove(thing);
|
m_extendedBlindTargetPercentage.remove(thing);
|
||||||
m_venetianBlindAngleTimer.take(thing)->deleteLater();
|
m_venetianBlindAngleTimer.take(thing)->deleteLater();
|
||||||
|
m_venetianBlindTargetAngle.remove(thing);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue