Some more fixes for Z-Wave
This commit is contained in:
parent
c17d32d835
commit
9f08f628d0
@ -84,12 +84,6 @@ void ZWaveManager::cancelPendingOperation(const QUuid &networkUuid)
|
|||||||
m_engine->jsonRpcClient()->sendCommand("ZWave.CancelPendingOperation", {{"networkUuid", networkUuid}}, this, "cancelPendingOperationResponse");
|
m_engine->jsonRpcClient()->sendCommand("ZWave.CancelPendingOperation", {{"networkUuid", networkUuid}}, this, "cancelPendingOperationResponse");
|
||||||
}
|
}
|
||||||
|
|
||||||
int ZWaveManager::softResetController(const QUuid &networkUuid)
|
|
||||||
{
|
|
||||||
QVariantMap params = {{"networkUuid", networkUuid}};
|
|
||||||
return m_engine->jsonRpcClient()->sendCommand("ZWave.SoftResetController", params, this, "softResetControllerResponse");
|
|
||||||
}
|
|
||||||
|
|
||||||
int ZWaveManager::factoryResetNetwork(const QUuid &networkUuid)
|
int ZWaveManager::factoryResetNetwork(const QUuid &networkUuid)
|
||||||
{
|
{
|
||||||
QVariantMap params = {{"networkUuid", networkUuid}};
|
QVariantMap params = {{"networkUuid", networkUuid}};
|
||||||
@ -333,6 +327,8 @@ ZWaveNode *ZWaveManager::unpackNode(const QVariantMap &nodeMap, ZWaveNode *node)
|
|||||||
node->setVersion(nodeMap.value("version").toUInt());
|
node->setVersion(nodeMap.value("version").toUInt());
|
||||||
|
|
||||||
node->setIsZWavePlus(nodeMap.value("isZWavePlus").toBool());
|
node->setIsZWavePlus(nodeMap.value("isZWavePlus").toBool());
|
||||||
|
node->setIsSecure(nodeMap.value("isSecure").toBool());
|
||||||
|
node->setIsBeaming(nodeMap.value("isBeaming").toBool());
|
||||||
|
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
|
|||||||
@ -76,7 +76,6 @@ public:
|
|||||||
Q_INVOKABLE int removeNetwork(const QUuid &networkUuid);
|
Q_INVOKABLE int removeNetwork(const QUuid &networkUuid);
|
||||||
Q_INVOKABLE void addNode(const QUuid &networkUuid);
|
Q_INVOKABLE void addNode(const QUuid &networkUuid);
|
||||||
Q_INVOKABLE void cancelPendingOperation(const QUuid &networkUuid);
|
Q_INVOKABLE void cancelPendingOperation(const QUuid &networkUuid);
|
||||||
Q_INVOKABLE int softResetController(const QUuid &networkUuid);
|
|
||||||
Q_INVOKABLE int factoryResetNetwork(const QUuid &networkUuid);
|
Q_INVOKABLE int factoryResetNetwork(const QUuid &networkUuid);
|
||||||
// Q_INVOKABLE void getNodes(const QUuid &networkUuid);
|
// Q_INVOKABLE void getNodes(const QUuid &networkUuid);
|
||||||
Q_INVOKABLE int removeNode(const QUuid &networkUuid);
|
Q_INVOKABLE int removeNode(const QUuid &networkUuid);
|
||||||
|
|||||||
@ -177,6 +177,32 @@ void ZWaveNode::setIsZWavePlus(bool isZWavePlus)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ZWaveNode::isSecure() const
|
||||||
|
{
|
||||||
|
return m_isSecure;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ZWaveNode::setIsSecure(bool isSecure)
|
||||||
|
{
|
||||||
|
if (m_isSecure != isSecure) {
|
||||||
|
m_isSecure = isSecure;
|
||||||
|
emit isSecureChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ZWaveNode::isBeaming() const
|
||||||
|
{
|
||||||
|
return m_isBeaming;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ZWaveNode::setIsBeaming(bool isBeaming)
|
||||||
|
{
|
||||||
|
if (m_isBeaming != isBeaming) {
|
||||||
|
m_isBeaming = isBeaming;
|
||||||
|
emit isBeamingChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool ZWaveNode::reachable() const
|
bool ZWaveNode::reachable() const
|
||||||
{
|
{
|
||||||
return m_reachable;
|
return m_reachable;
|
||||||
|
|||||||
@ -30,6 +30,8 @@ class ZWaveNode : public QObject
|
|||||||
Q_PROPERTY(quint16 productType READ productType NOTIFY productTypeChanged)
|
Q_PROPERTY(quint16 productType READ productType NOTIFY productTypeChanged)
|
||||||
Q_PROPERTY(quint8 version READ version NOTIFY versionChanged)
|
Q_PROPERTY(quint8 version READ version NOTIFY versionChanged)
|
||||||
Q_PROPERTY(bool isZWavePlus READ isZWavePlus NOTIFY isZWavePlusChanged)
|
Q_PROPERTY(bool isZWavePlus READ isZWavePlus NOTIFY isZWavePlusChanged)
|
||||||
|
Q_PROPERTY(bool isSecure READ isSecure NOTIFY isSecureChanged)
|
||||||
|
Q_PROPERTY(bool isBeaming READ isBeaming NOTIFY isBeamingChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum ZWaveNodeType {
|
enum ZWaveNodeType {
|
||||||
@ -191,6 +193,12 @@ public:
|
|||||||
bool isZWavePlus() const;
|
bool isZWavePlus() const;
|
||||||
void setIsZWavePlus(bool isZWavePlus);
|
void setIsZWavePlus(bool isZWavePlus);
|
||||||
|
|
||||||
|
bool isSecure() const;
|
||||||
|
void setIsSecure(bool isSecure);
|
||||||
|
|
||||||
|
bool isBeaming() const;
|
||||||
|
void setIsBeaming(bool isBeaming);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void initializedChanged();
|
void initializedChanged();
|
||||||
void reachableChanged();
|
void reachableChanged();
|
||||||
@ -210,6 +218,8 @@ signals:
|
|||||||
void productTypeChanged();
|
void productTypeChanged();
|
||||||
void versionChanged();
|
void versionChanged();
|
||||||
void isZWavePlusChanged();
|
void isZWavePlusChanged();
|
||||||
|
void isSecureChanged();
|
||||||
|
void isBeamingChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
quint8 m_nodeId = 0;
|
quint8 m_nodeId = 0;
|
||||||
@ -232,6 +242,8 @@ private:
|
|||||||
quint16 m_productType = 0;
|
quint16 m_productType = 0;
|
||||||
quint8 m_version = 0;
|
quint8 m_version = 0;
|
||||||
bool m_isZWavePlus = false;
|
bool m_isZWavePlus = false;
|
||||||
|
bool m_isSecure = false;
|
||||||
|
bool m_isBeaming = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ZWaveNodes: public QAbstractListModel
|
class ZWaveNodes: public QAbstractListModel
|
||||||
|
|||||||
@ -297,23 +297,22 @@ SettingsPageBase {
|
|||||||
secondaryIconName: node && node.sleeping ? "/ui/images/system-suspend.svg" : ""
|
secondaryIconName: node && node.sleeping ? "/ui/images/system-suspend.svg" : ""
|
||||||
|
|
||||||
tertiaryIconName: {
|
tertiaryIconName: {
|
||||||
if (!node || !node.reachable)
|
var signalStrength = "00";
|
||||||
return "/ui/images/connections/nm-signal-00.svg"
|
|
||||||
|
|
||||||
if (node.linkQuality <= 25)
|
if (!node || !node.reachable) {
|
||||||
return "/ui/images/connections/nm-signal-25.svg"
|
signalStrength = "00";
|
||||||
|
} else if (node.linkQuality <= 25) {
|
||||||
if (node.linkQuality <= 50)
|
signalStrength = "25"
|
||||||
return "/ui/images/connections/nm-signal-50.svg"
|
} else if (node.linkQuality <= 50) {
|
||||||
|
signalStrength = "50"
|
||||||
if (node.linkQuality <= 75)
|
} else if (node.linkQuality <= 75) {
|
||||||
return "/ui/images/connections/nm-signal-75.svg"
|
signalStrength = "75"
|
||||||
|
} else {
|
||||||
if (node.linkQuality <= 100)
|
signalStrength = "100"
|
||||||
return "/ui/images/connections/nm-signal-100.svg"
|
}
|
||||||
|
return "/ui/images/connections/nm-signal-" + signalStrength + (node.isSecure ? "-secure" : "") +".svg"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
tertiaryIconColor: node.reachable ? Style.iconColor : Style.red
|
tertiaryIconColor: node.reachable ? Style.iconColor : Style.red
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
@ -441,6 +440,26 @@ SettingsPageBase {
|
|||||||
font: Style.smallFont
|
font: Style.smallFont
|
||||||
horizontalAlignment: Text.AlignRight
|
horizontalAlignment: Text.AlignRight
|
||||||
}
|
}
|
||||||
|
Label {
|
||||||
|
text: qsTr("Security supported:")
|
||||||
|
font: Style.smallFont
|
||||||
|
}
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
text: nodeInfoDialog.node.isSecure ? qsTr("Yes") : qsTr("No")
|
||||||
|
font: Style.smallFont
|
||||||
|
horizontalAlignment: Text.AlignRight
|
||||||
|
}
|
||||||
|
Label {
|
||||||
|
text: qsTr("Beaming supported:")
|
||||||
|
font: Style.smallFont
|
||||||
|
}
|
||||||
|
Label {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
text: nodeInfoDialog.node.isBeaming ? qsTr("Yes") : qsTr("No")
|
||||||
|
font: Style.smallFont
|
||||||
|
horizontalAlignment: Text.AlignRight
|
||||||
|
}
|
||||||
Label {
|
Label {
|
||||||
text: qsTr("Signal strength:")
|
text: qsTr("Signal strength:")
|
||||||
font: Style.smallFont
|
font: Style.smallFont
|
||||||
|
|||||||
@ -159,16 +159,6 @@ SettingsPageBase {
|
|||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
|
|
||||||
Button {
|
|
||||||
Layout.fillWidth: true
|
|
||||||
Layout.leftMargin: app.margins
|
|
||||||
Layout.rightMargin: app.margins
|
|
||||||
text: qsTr("Reboot controller")
|
|
||||||
onClicked: {
|
|
||||||
d.pendingCommandId = root.zwaveManager.softResetController(root.network.networkUuid)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.leftMargin: app.margins
|
Layout.leftMargin: app.margins
|
||||||
|
|||||||
Reference in New Issue
Block a user