From 3744ce040b3c38f9c8b265dae74f178d8e902d76 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Thu, 16 Mar 2023 17:09:25 +0100 Subject: [PATCH] EQ-3, Tado: Update thermostats windowOpenDetected states The interface now distinguishes between states that are informative (read only) and ones that can be set. --- eq-3/integrationplugineq-3.cpp | 6 +++--- eq-3/integrationplugineq-3.json | 3 +-- tado/integrationplugintado.cpp | 2 +- tado/integrationplugintado.h | 9 ++++++--- tado/integrationplugintado.json | 5 ++--- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/eq-3/integrationplugineq-3.cpp b/eq-3/integrationplugineq-3.cpp index f8124ac8..7d05b3e2 100644 --- a/eq-3/integrationplugineq-3.cpp +++ b/eq-3/integrationplugineq-3.cpp @@ -66,7 +66,7 @@ void IntegrationPluginEQ3::discoverThings(ThingDiscoveryInfo *info) connect(info, &QObject::destroyed, cubeDiscovery, &MaxCubeDiscovery::deleteLater); - connect(cubeDiscovery, &MaxCubeDiscovery::cubesDetected, info, [this, info, cubeDiscovery](const QList &cubeList){ + connect(cubeDiscovery, &MaxCubeDiscovery::cubesDetected, info, [this, info](const QList &cubeList){ foreach (const MaxCubeDiscovery::CubeInfo &cube, cubeList) { ThingDescriptor descriptor(cubeThingClassId, "Max! Cube LAN Gateway", cube.serialNumber); @@ -200,9 +200,9 @@ void IntegrationPluginEQ3::setupThing(ThingSetupInfo *info) thing->setStateValue(eqivaBluetoothTargetTemperatureStateTypeId, eqivaDevice->targetTemperature()); }); // Window open state - thing->setStateValue(eqivaBluetoothWindowOpenStateTypeId, eqivaDevice->windowOpen()); + thing->setStateValue(eqivaBluetoothWindowOpenDetectedStateTypeId, eqivaDevice->windowOpen()); connect(eqivaDevice, &EqivaBluetooth::windowOpenChanged, thing, [thing, eqivaDevice](){ - thing->setStateValue(eqivaBluetoothWindowOpenStateTypeId, eqivaDevice->windowOpen()); + thing->setStateValue(eqivaBluetoothWindowOpenDetectedStateTypeId, eqivaDevice->windowOpen()); }); // Valve open state thing->setStateValue(eqivaBluetoothValveOpenStateTypeId, eqivaDevice->valveOpen()); diff --git a/eq-3/integrationplugineq-3.json b/eq-3/integrationplugineq-3.json index 36df24ba..e98af5dd 100644 --- a/eq-3/integrationplugineq-3.json +++ b/eq-3/integrationplugineq-3.json @@ -611,9 +611,8 @@ }, { "id": "dcacdacc-ee47-43b0-9fef-1fe423e4f355", - "name": "windowOpen", + "name": "windowOpenDetected", "displayName": "Window open detected", - "displayNameEvent": "Window open changed", "type": "bool", "defaultValue": false }, diff --git a/tado/integrationplugintado.cpp b/tado/integrationplugintado.cpp index 758fe904..550f8a2c 100644 --- a/tado/integrationplugintado.cpp +++ b/tado/integrationplugintado.cpp @@ -432,7 +432,7 @@ void IntegrationPluginTado::onZoneStateReceived(const QString &homeId, const QSt thing->setStateValue(zoneTargetTemperatureStateTypeId, state.settingTemperature); thing->setStateValue(zoneTemperatureStateTypeId, state.temperature); thing->setStateValue(zoneHumidityStateTypeId, state.humidity); - thing->setStateValue(zoneWindowOpenStateTypeId, state.windowOpen); + thing->setStateValue(zoneWindowOpenDetectedStateTypeId, state.windowOpen); thing->setStateValue(zoneTadoModeStateTypeId, state.tadoMode); } diff --git a/tado/integrationplugintado.h b/tado/integrationplugintado.h index 28d344bf..692dfeb2 100644 --- a/tado/integrationplugintado.h +++ b/tado/integrationplugintado.h @@ -31,12 +31,15 @@ #ifndef INTEGRATIONPLUGINTADO_H #define INTEGRATIONPLUGINTADO_H -#include "plugintimer.h" -#include "integrations/integrationplugin.h" -#include "network/oauth2.h" #include "tado.h" +#include "extern-plugininfo.h" + +#include +#include +#include #include + #include class IntegrationPluginTado : public IntegrationPlugin diff --git a/tado/integrationplugintado.json b/tado/integrationplugintado.json index 32bba975..25272c05 100644 --- a/tado/integrationplugintado.json +++ b/tado/integrationplugintado.json @@ -117,9 +117,8 @@ }, { "id": "c7a04e26-bb22-406e-b117-262bdb8b9c0e", - "name": "windowOpen", - "displayName": "Window open", - "displayNameEvent": "Window open changed", + "name": "windowOpenDetected", + "displayName": "Window open detected", "type": "bool", "defaultValue": false },