aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java')
-rw-r--r--app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java b/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
index 85a6afb..3e1c93b 100644
--- a/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
+++ b/app/src/main/java/io/trygvis/soilmoisture/DefaultSoilMoistureService.java
@@ -119,7 +119,8 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS
sendBroadcast(createNewDevice(address));
boolean candidate = btDevice.getAddress().startsWith("FB:") ||
- btDevice.getAddress().startsWith("FD:");
+ btDevice.getAddress().startsWith("FD:") ||
+ btDevice.getAddress().startsWith("CE:");
if (!candidate) {
Log.w(TAG, "Skipping device: " + btDevice.getAddress());
@@ -131,6 +132,11 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS
probe(smDevice.getBtDevice().getAddress());
}
}
+
+ @Override
+ public void onDevicePropertyUpdated(String address) {
+ sendBroadcast(createDevicePropertyUpdated(getDevice(address)));
+ }
};
private BtPromise readAttribute(String value, byte[] req, Function<byte[], BtPromise.PromiseResult> handler) {
@@ -159,7 +165,7 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS
GetSensorNameRes res = parseResponse(bytes, GET_SENSOR_NAME, GetSensorNameRes.class);
String name = res.name;
- device.getSensorByIndex(index).ifPresent(sensor -> {
+ device.getSensorByNumber(index).ifPresent(sensor -> {
sensor.setName(name);
sendBroadcast(createDevicePropertyUpdated(device));
});
@@ -198,6 +204,7 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS
return continueDirectly();
}).
onFinally(success -> {
+ Log.i(TAG, "finally, smDevice.getIsUseful()=" + smDevice.getIsUseful());
if (smDevice.getIsUseful() == null) {
smDevice.setIsUseful(false);
}
@@ -256,7 +263,11 @@ public class DefaultSoilMoistureService extends Service implements SoilMoistureS
values.put(Tables.C_INDEX, i);
id = db.insert(Tables.T_SM_SENSOR, null, values);
+ Log.i(TAG, "Created new sensor row, id=" + id);
+
device.addSensor(new SmSensor(device, id, (byte) i));
+ } else {
+ Log.i(TAG, "Using existing sensor row, id=" + id);
}
}