fixed indoor and outdoor motion sensor
This commit is contained in:
parent
3206f285ba
commit
5389e4980f
@ -53,9 +53,6 @@ void DevicePluginPhilipsHue::init()
|
|||||||
m_pluginTimer1Sec = hardwareManager()->pluginTimerManager()->registerTimer(1);
|
m_pluginTimer1Sec = hardwareManager()->pluginTimerManager()->registerTimer(1);
|
||||||
connect(m_pluginTimer1Sec, &PluginTimer::timeout, this, [this]() {
|
connect(m_pluginTimer1Sec, &PluginTimer::timeout, this, [this]() {
|
||||||
// refresh sensors every second
|
// refresh sensors every second
|
||||||
if (m_remotes.isEmpty()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
foreach (HueBridge *bridge, m_bridges.keys()) {
|
foreach (HueBridge *bridge, m_bridges.keys()) {
|
||||||
refreshSensors(bridge);
|
refreshSensors(bridge);
|
||||||
}
|
}
|
||||||
@ -452,10 +449,10 @@ void DevicePluginPhilipsHue::deviceRemoved(Device *device)
|
|||||||
remote->deleteLater();
|
remote->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (device->deviceClassId() == outdoorSensorDeviceClassId) {
|
if (device->deviceClassId() == outdoorSensorDeviceClassId || device->deviceClassId() == motionSensorDeviceClassId) {
|
||||||
HueMotionSensor *outdoorSensor = m_motionSensors.key(device);
|
HueMotionSensor *motionSensor = m_motionSensors.key(device);
|
||||||
m_motionSensors.remove(outdoorSensor);
|
m_motionSensors.remove(motionSensor);
|
||||||
outdoorSensor->deleteLater();
|
motionSensor->deleteLater();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1296,7 +1293,7 @@ void DevicePluginPhilipsHue::processBridgeSensorDiscoveryResponse(Device *device
|
|||||||
params.append(Param(motionSensorDeviceSensorUuidLightParamTypeId, motionSensor->lightSensorUuid()));
|
params.append(Param(motionSensorDeviceSensorUuidLightParamTypeId, motionSensor->lightSensorUuid()));
|
||||||
params.append(Param(motionSensorDeviceSensorIdLightParamTypeId, motionSensor->lightSensorId()));
|
params.append(Param(motionSensorDeviceSensorIdLightParamTypeId, motionSensor->lightSensorId()));
|
||||||
descriptor.setParams(params);
|
descriptor.setParams(params);
|
||||||
qCDebug(dcPhilipsHue()) << "Found new motion sensor" << baseUuid << outdoorSensorDeviceClassId;
|
qCDebug(dcPhilipsHue()) << "Found new motion sensor" << baseUuid << motionSensorDeviceClassId;
|
||||||
emit autoDevicesAppeared(motionSensorDeviceClassId, {descriptor});
|
emit autoDevicesAppeared(motionSensorDeviceClassId, {descriptor});
|
||||||
} else if (motionSensor->modelId() == "SML002") {
|
} else if (motionSensor->modelId() == "SML002") {
|
||||||
DeviceDescriptor descriptor(outdoorSensorDeviceClassId, tr("Philips Hue Outdoor sensor"), baseUuid, device->id());
|
DeviceDescriptor descriptor(outdoorSensorDeviceClassId, tr("Philips Hue Outdoor sensor"), baseUuid, device->id());
|
||||||
@ -1454,7 +1451,7 @@ void DevicePluginPhilipsHue::processSensorsRefreshResponse(Device *device, const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Outdoor sensors
|
// Motion sensors
|
||||||
foreach (HueMotionSensor *motionSensor, m_motionSensors.keys()) {
|
foreach (HueMotionSensor *motionSensor, m_motionSensors.keys()) {
|
||||||
if (motionSensor->hasSensor(sensorId.toInt()) && m_motionSensors.value(motionSensor)->parentId() == device->id()) {
|
if (motionSensor->hasSensor(sensorId.toInt()) && m_motionSensors.value(motionSensor)->parentId() == device->id()) {
|
||||||
motionSensor->updateStates(sensorMap);
|
motionSensor->updateStates(sensorMap);
|
||||||
|
|||||||
@ -125,7 +125,7 @@ class HueOutdoorSensor: public HueMotionSensor
|
|||||||
public:
|
public:
|
||||||
HueOutdoorSensor(QObject *parent = nullptr): HueMotionSensor(parent) {}
|
HueOutdoorSensor(QObject *parent = nullptr): HueMotionSensor(parent) {}
|
||||||
|
|
||||||
StateTypeId connectedStateTypeId() const override { return outdoorSensorTemperatureStateTypeId; }
|
StateTypeId connectedStateTypeId() const override { return outdoorSensorConnectedStateTypeId; }
|
||||||
StateTypeId temperatureStateTypeId() const override { return outdoorSensorTemperatureStateTypeId; }
|
StateTypeId temperatureStateTypeId() const override { return outdoorSensorTemperatureStateTypeId; }
|
||||||
StateTypeId lightIntensityStateTypeId() const override { return outdoorSensorLightIntensityStateTypeId; }
|
StateTypeId lightIntensityStateTypeId() const override { return outdoorSensorLightIntensityStateTypeId; }
|
||||||
StateTypeId isPresentStateTypeId() const override { return outdoorSensorIsPresentStateTypeId; }
|
StateTypeId isPresentStateTypeId() const override { return outdoorSensorIsPresentStateTypeId; }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user