added tado mode

This commit is contained in:
Boernsman 2019-12-19 00:02:05 +01:00
parent dd14d4fcfc
commit d47214ac14
2 changed files with 17 additions and 2 deletions

View File

@ -158,7 +158,11 @@ void DevicePluginTado::executeAction(DeviceActionInfo *info)
} else if (action.param(zoneModeActionModeParamTypeId).value().toString() == "Off") {
tado->setOverlay(homeId, zoneId, false, device->stateValue(zoneTargetTemperatureStateTypeId).toDouble());
} else {
tado->setOverlay(homeId, zoneId, true, device->stateValue(zoneTargetTemperatureStateTypeId).toDouble());
if(device->stateValue(zoneTargetTemperatureStateTypeId).toDouble() <= 5.0) {
tado->setOverlay(homeId, zoneId, true, 5);
} else {
tado->setOverlay(homeId, zoneId, true, device->stateValue(zoneTargetTemperatureStateTypeId).toDouble());
}
}
info->finish(Device::DeviceErrorNoError);
} else if (action.actionTypeId() == zoneTargetTemperatureActionTypeId) {
@ -299,10 +303,13 @@ void DevicePluginTado::onZoneStateReceived(const QString &homeId, const QString
device->setStateValue(zoneModeStateTypeId, "Tado");
}
device->setStateValue(zonePowerStateTypeId, state.power);
device->setStateValue(zonePowerStateTypeId, (state.heatingPowerPercentage > 0));
device->setStateValue(zoneConnectedStateTypeId, state.connected);
device->setStateValue(zoneTargetTemperatureStateTypeId, state.settingTemperature);
device->setStateValue(zoneTemperatureStateTypeId, state.temperature);
device->setStateValue(zoneHumidityStateTypeId, state.humidity);
device->setStateValue(zoneWindowOpenStateTypeId, state.windowOpen);
device->setStateValue(zoneTadoModeStateTypeId, state.tadoMode);
}

View File

@ -97,6 +97,14 @@
],
"writable": true
},
{
"id": "8b800998-5c2d-4940-9d0e-036979cf49ca",
"name": "tadoMode",
"displayName": "Tado mode",
"displayNameEvent": "Tado mode changed",
"type": "QString",
"defaultValue": "Tado"
},
{
"id": "e886377d-34b7-4908-ad0d-ed463fc6181d",
"name": "power",