FlowerCare: Add a refresh rate setting
This commit is contained in:
parent
be230d9a3b
commit
b5d47a0ae2
@ -1,4 +1,9 @@
|
|||||||
# Flowercare
|
# Flowercare
|
||||||
|
|
||||||
|
|
||||||
This pluggin provides support for the Bluetooth LE [Xiaomi Flower Care Monitor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/).
|
This plugin provides support for the Bluetooth LE
|
||||||
|
[Xiaomi Flower Care Monitor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/).
|
||||||
|
|
||||||
|
The Xiaomi Flower Care sensor will provide information about temperature, soil moisture and conductivity as well as light intensity.
|
||||||
|
By default, the sensor value is refreshed from the sensor every 20 minutes. This setting can be changed to poll the sensor more or
|
||||||
|
less often, depending if more precise measurements or longer battery life are more important.
|
||||||
|
|||||||
@ -117,6 +117,15 @@ void DevicePluginFlowercare::setupDevice(DeviceSetupInfo *info)
|
|||||||
connect(m_reconnectTimer, &PluginTimer::timeout, this, &DevicePluginFlowercare::onPluginTimer);
|
connect(m_reconnectTimer, &PluginTimer::timeout, this, &DevicePluginFlowercare::onPluginTimer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update refresh schedule when the refresh rate setting is changed
|
||||||
|
connect(device, &Device::settingChanged, flowerCare, [this, device] {
|
||||||
|
FlowerCare *flowerCare = m_list.value(device);
|
||||||
|
int refreshInterval = device->setting(flowerCareSettingsRefreshRateParamTypeId).toInt();
|
||||||
|
if (m_refreshMinutes[flowerCare] > refreshInterval) {
|
||||||
|
m_refreshMinutes[flowerCare] = refreshInterval;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
info->finish(Device::DeviceErrorNoError);
|
info->finish(Device::DeviceErrorNoError);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -183,5 +192,5 @@ void DevicePluginFlowercare::onSensorDataReceived(quint8 batteryLevel, double de
|
|||||||
device->setStateValue(flowerCareMoistureStateTypeId, moisture);
|
device->setStateValue(flowerCareMoistureStateTypeId, moisture);
|
||||||
device->setStateValue(flowerCareConductivityStateTypeId, fertility);
|
device->setStateValue(flowerCareConductivityStateTypeId, fertility);
|
||||||
|
|
||||||
m_refreshMinutes[flowerCare] = 20;
|
m_refreshMinutes[flowerCare] = device->setting(flowerCareSettingsRefreshRateParamTypeId).toInt();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,6 +23,15 @@
|
|||||||
"inputType": "MacAddress"
|
"inputType": "MacAddress"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"settingsTypes": [
|
||||||
|
{
|
||||||
|
"id": "e892d118-336e-4495-ae41-0c7cc907efe8",
|
||||||
|
"name": "refreshRate",
|
||||||
|
"displayName": "Refresh rate (minutes)",
|
||||||
|
"type": "uint",
|
||||||
|
"defaultValue": 20
|
||||||
|
}
|
||||||
|
],
|
||||||
"stateTypes": [
|
"stateTypes": [
|
||||||
{
|
{
|
||||||
"id": "6254103a-ff8b-4f62-afda-6b5be1c933ec",
|
"id": "6254103a-ff8b-4f62-afda-6b5be1c933ec",
|
||||||
|
|||||||
@ -119,5 +119,10 @@ The name of the StateType ({7e0a3b3d-72f4-4547-bd1e-2711be61c1a7}) of DeviceClas
|
|||||||
The name of the StateType ({f77608b3-8b5b-43a9-aab6-0dc35c694ec3}) of DeviceClass flowerCare</extracomment>
|
The name of the StateType ({f77608b3-8b5b-43a9-aab6-0dc35c694ec3}) of DeviceClass flowerCare</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Refresh rate (minutes)</source>
|
||||||
|
<extracomment>The name of the ParamType (DeviceClass: flowerCare, Type: settings, ID: {e892d118-336e-4495-ae41-0c7cc907efe8})</extracomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user