public void Check_WaterLeakSensor_Raised_NoLeak() { // Arrange var cmd = Helpers .CreateCommand("heartbeat", "sensor_wleak.aq1", "158d0001d561e2", 18101, new Dictionary <string, object> { { "voltage", "3005" } }); // Act WaterLeakSensor device = _deviceFactory.GetDeviceByCommand <WaterLeakSensor>(cmd); bool noleakRaised = false; device.OnNoLeak += (_, __) => noleakRaised = true;; cmd = Helpers .CreateCommand("report", "sensor_wleak.aq1", "158d0001d561e2", 18101, new Dictionary <string, object> { { "status", "no_leak" } }); device.ParseData(ResponseCommand.FromString(cmd).Data); // Assert Assert.True(noleakRaised); }
public void Check_WaterLeakSensor_Heartbeat_Data() { // Arrange var cmd = Helpers .CreateCommand("heartbeat", "sensor_wleak.aq1", "158d0001d561e2", 18101, new Dictionary <string, object> { { "voltage", "3005" } }); // Act WaterLeakSensor device = _deviceFactory.GetDeviceByCommand <WaterLeakSensor>(cmd); // Assert Assert.Equal("sensor_wleak.aq1", device.Type); Assert.Equal("158d0001d561e2", device.Sid); Assert.Equal(3.005f, device.Voltage); }
public void Check_WaterLeakSensor_Report_Data() { // Arrange var cmd = Helpers .CreateCommand("report", "sensor_wleak.aq1", "158d0001d561e2", 18101, new Dictionary <string, object> { { "status", "no_leak" } }); // Act WaterLeakSensor device = _deviceFactory.GetDeviceByCommand <WaterLeakSensor>(cmd); // Assert Assert.Equal("sensor_wleak.aq1", device.Type); Assert.Equal("158d0001d561e2", device.Sid); Assert.Equal("no_leak", device.Status); }
public static void Initialize(MiLightGateway miLightGateway) { //Sonoff Switches ChristmasLights = new SonoffSwitch("192.168.10.84"); KitchenLights = new SonoffSwitch("192.168.10.81"); GlobusLight = new SonoffSwitch("192.168.10.81"); //TODO IP BedLightBalls = new SonoffSwitch("192.168.10.81"); //TODO IP //Yee Light Devices LightHallway = new YeelightDevice("192.168.10.77", "0x000000000361df8b", false, 0, "mono"); StripeA = new YeelightDevice("192.168.10.75", "0x000000000361afc3", false, 0, "stripe"); StripeB = new YeelightDevice("192.168.10.74", "0x0000000004555e6d", false, 0, "stripe"); //Mi Light Devices BulbA = new MiBulb(miLightGateway, 1); BulbB = new MiBulb(miLightGateway, 2); BulbC = new MiBulb(miLightGateway, 3); //Mi Home Devices DoorBathroom = new DoorWindowSensor("158d0001e037e5") { CustomName = "Badezimmertür" }; ApartmentDoor = new DoorWindowSensor("158d0001a5db48") { CustomName = "Wohnungstür" }; SwitchA = new SimpleSwitch("158d00019dbac7") { CustomName = "Switch A" }; SwitchB = new SimpleSwitch("158d00016da2ed") { CustomName = "Switch B" }; MotionBathroom = new MotionSensor("158d0001d87940") { CustomName = "Motion Bathroom" }; MotionHall = new MotionSensor("158d0001d47c2f") { CustomName = "Motion Hall" }; MotionLivingRoom = new MotionSensor("158d00014dc328") { CustomName = "Motion Living Room" }; SwitchC = new SensorSwitch("158d0001b86fed") { CustomName = "Switch C" }; SwitchD = new SensorSwitch("158d0001b86f59") { CustomName = "SwitchD" }; WaterLeakBathroom = new WaterLeakSensor("158d0001bb89e9") { CustomName = "Water Leak" }; TempSensorLivingRoom = new TempSensor("158d0001b7edbb") { CustomName = "Temperatur Wohnzimmer" }; SwitchE = new DoubleKeySwitch("158d0001718576") { CustomName = "Switch Wandregal" }; }