-
-
Notifications
You must be signed in to change notification settings - Fork 37
Aqara Vibration sensor (DJT11LM)
Sergey edited this page Feb 2, 2025
·
2 revisions
using var gw2 = new XiaomiGateway2();
{
gw2.OnAqaraVirationSensor += (_, device) =>
{
if(device.Sid == "<specific sid here>")
{
device.OnVibration += (_,__) => Console.WriteLine($"Vibration detected {device.LastStatus}");
device.OnTilt += (_,__) => Console.WriteLine($"Tilt detected {device.LastStatus}");
device.OnFreeFall += (_,__) => Console.WriteLine($"Free fall detected {device.LastStatus}");
// This event usually happens a few seconds after "tilt" event has been raised
device.OnFinalTiltAngle += (_,__) => Console.WriteLine($"Final tilt angle {device.FinalTiltAngle}");
// What is "bed activity" you can read here --> https://github.com/Danielhiversen/PyXiaomiGateway/issues/86#issuecomment-418135852
device.OnBedActivity += (_,__) => Console.WriteLine($"Bed activity {device.BedActivity}");
// This event usually happens a few seconds after "free fall" detected
device.OnCoordinations += (_,__) => Console.WriteLine($"Coordinations {device.Coordinations.X},{device.Coordinations.Y},{device.Coordinations.Z}");
}
};
}
using var gw3 = new XiaomiGateway3("<gateway ip>", "<gateway token>");
{
gw3.OnDeviceDiscovered += x =>
{
if(x is AqaraVirationSensor device && device.Did == "<specific did here>")
{
Console.WriteLine(device.ToString());
device.OnVibration += () => Console.WriteLine($"Vibration detected");
device.OnTilt += () => Console.WriteLine($"Tilt detected");
device.OnFreeFall += () => Console.WriteLine($"Free fall detected");
// This event usually happens a few seconds after "tilt" event has been raised
device.OnFinalTiltAngle += (oldValue) => Console.WriteLine($"Final tilt angle is {device.FinalTiltAngle}");
// What is "bed activity" you can read here --> https://github.com/Danielhiversen/PyXiaomiGateway/issues/86#issuecomment-418135852
device.OnBedActivity += (oldValue) => Console.WriteLine($"Bed activity is {device.BedActivity}");
device.OnBatteryPercentChange += (oldBatteryValue) => Console.WriteLine($"Battery is {device.BatteryPercent}");
device.OnChipTemperatureChange += (oldChipTemperatureValue) => Console.WriteLine($"Chip Temperature is {device.ChipTemperature}");
device.OnVoltageChange += (oldVoltageValue) => Console.WriteLine($"Voltage is {device.Voltage}");
device.OnLinkQualityChange += (oldLinkQualityValue) => Console.WriteLine($"Linq quality is {device.LinqQuality}");
// set sensor "sensivity", same as in mihome app supported high/middle/low options
device.SetSensivity(AqaraVirationSensor.SensivityState.High);
}
};
gw3.DiscoverDevices();
}