Fixed MQTT and added PM2.5 trait to google assistant
This commit is contained in:
parent
cfcebca5a0
commit
2d2a79470d
7 changed files with 119 additions and 28 deletions
|
|
@ -58,6 +58,9 @@ public class DeviceTraitFactory {
|
|||
case "se.hal.struct.devicedata.OpenClosedEventData":
|
||||
return new DeviceTrait[]{new OpenCloseTrait()};
|
||||
|
||||
case "se.hal.struct.devicedata.ParticulateMatterSensorData":
|
||||
return new DeviceTrait[]{new SensorStateTrait()};
|
||||
|
||||
case "se.hal.struct.devicedata.PowerConsumptionSensorData":
|
||||
case "se.hal.struct.devicedata.LightSensorData":
|
||||
return new DeviceTrait[]{new SensorStateTrait()};
|
||||
|
|
|
|||
|
|
@ -27,14 +27,14 @@ package se.hal.plugin.assistant.google.trait;
|
|||
|
||||
import se.hal.intf.HalDeviceConfig;
|
||||
import se.hal.intf.HalDeviceData;
|
||||
import se.hal.struct.devicedata.OpenClosedEventData;
|
||||
import se.hal.struct.devicedata.ParticulateMatterSensorData;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
|
||||
/**
|
||||
* https://developers.google.com/assistant/smarthome/traits/openclose
|
||||
* https://developers.home.google.com/cloud-to-cloud/traits/sensorstate
|
||||
*/
|
||||
public class SensorStateTrait extends DeviceTrait {
|
||||
|
||||
|
|
@ -48,10 +48,14 @@ public class SensorStateTrait extends DeviceTrait {
|
|||
HashMap<String, Object> response = new HashMap<>();
|
||||
ArrayList<HashMap> sensorStatesSupported = new ArrayList<>();
|
||||
|
||||
/*sensorStatesSupported.add(new HashMap<String, Object>() {{
|
||||
put("name", xxx);
|
||||
put("maxThresholdCelsius", 60);
|
||||
}});*/
|
||||
sensorStatesSupported.add(new HashMap<String, Object>() {{
|
||||
if (config.getDeviceDataClass() == ParticulateMatterSensorData.class) {
|
||||
put("name", "PM2.5");
|
||||
put("numericCapabilities", new HashMap<String, Object>() {{
|
||||
put("rawValueUnit", "MICROGRAMS_PER_CUBIC_METER");
|
||||
}});
|
||||
}
|
||||
}});
|
||||
|
||||
response.put("sensorStatesSupported", sensorStatesSupported);
|
||||
return response;
|
||||
|
|
@ -62,11 +66,13 @@ public class SensorStateTrait extends DeviceTrait {
|
|||
HashMap<String, Object> response = new HashMap<>();
|
||||
ArrayList<HashMap> currentSensorStateData = new ArrayList<>();
|
||||
|
||||
/*currentSensorStateData.add(new HashMap<String, Object>() {{
|
||||
put("name", xxx);
|
||||
put("currentSensorState", xxx);
|
||||
put("rawValue", xxx);
|
||||
}});*/
|
||||
currentSensorStateData.add(new HashMap<String, Object>() {{
|
||||
if (data instanceof ParticulateMatterSensorData) {
|
||||
put("name", "PM2.5");
|
||||
//put("currentSensorState", xxx);
|
||||
put("rawValue", data.getData());
|
||||
}
|
||||
}});
|
||||
|
||||
response.put("currentSensorStateData", currentSensorStateData);
|
||||
return response;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue