Add rudimentary support for DS18B120 Thermometers, MH-Z19B CO2 Sensors, and ZWave.me controllers.

This commit is contained in:
MarkBryanMilligan
2021-10-26 15:45:13 -05:00
parent 883cf7865d
commit 88933a2286
19 changed files with 334 additions and 67 deletions

View File

@@ -2,6 +2,7 @@ package com.lanternsoftware.zwave;
import com.lanternsoftware.datamodel.zwave.Switch;
import com.lanternsoftware.datamodel.zwave.SwitchType;
import com.lanternsoftware.util.concurrency.ConcurrencyUtils;
import com.lanternsoftware.zwave.security.SecurityController;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -14,6 +15,8 @@ public class TestSecurity {
Switch sw = new Switch("Garage", "Door 1", 1000, true, false, null, 0);
sw.setGpioPin(7);
sw.setType(SwitchType.SECURITY);
c.listen(sw, (nodeId, _open) -> LOG.info("Door is " + (_open ? "OPEN" : "CLOSED")));
c.listen(sw, (nodeId, _open) -> LOG.error("Door event, now " + (_open ? "OPEN" : "CLOSED")));
ConcurrencyUtils.sleep(60000);
c.shutdown();
}
}

View File

@@ -22,6 +22,7 @@ import com.lanternsoftware.zwave.controller.Controller;
import com.lanternsoftware.zwave.dao.MongoZWaveDao;
import com.lanternsoftware.zwave.message.IMessageSubscriber;
import com.lanternsoftware.zwave.message.MessageEngine;
import com.lanternsoftware.zwave.message.impl.AddNodeToNetworkRequest;
import com.lanternsoftware.zwave.message.impl.BinarySwitchReportRequest;
import com.lanternsoftware.zwave.message.impl.BinarySwitchSetRequest;
import com.lanternsoftware.zwave.message.impl.CRC16EncapRequest;
@@ -226,6 +227,8 @@ public class ZWaveApp {
}
});
controller.send(new MultilevelSwitchSetRequest((byte)2, 0xFF));
// controller.send(new MultilevelSensorGetRequest((byte)11));
// controller.send(new ThermostatSetPointGetRequest((byte)11, ThermostatSetPointIndex.HEATING));
// controller.send(new ThermostatSetPointGetRequest((byte)11, ThermostatSetPointIndex.COOLING));

View File

@@ -9,7 +9,7 @@
</appender>
<logger name="com.lanternsoftware" level="INFO"/>
<logger name="com.lanternsoftware" level="DEBUG"/>
<root level="OFF">
<appender-ref ref="STDOUT"/>

View File

@@ -7,10 +7,10 @@ public class TestStartup {
ZWaveApp app = new ZWaveApp();
app.start();
try {
Thread.sleep(20000);
Thread.sleep(20000000);
} catch (InterruptedException _e) {
_e.printStackTrace();
}
app.stop();
Runtime.getRuntime().addShutdownHook(new Thread(app::stop, "Shutdown"));
}
}