TemperatureHumiditySensor_HighAccuracyMini sensor;
public override Task Initialize()
{
    Resolver.Log.Info("Initialize...");
    sensor = new TemperatureHumiditySensor_HighAccuracyMini(Device.CreateI2cBus());
    var consumer = TemperatureHumiditySensor_HighAccuracyMini.CreateObserver(
        handler: result =>
        {
            Resolver.Log.Info($"Observer: Temp changed by threshold; new temp: {result.New.Temperature?.Celsius:N2}C, old: {result.Old?.Temperature?.Celsius:N2}C");
        },
        filter: result =>
        {
            
            if (result.Old is { } old)
            {
                return (
                (result.New.Temperature.Value - old.Temperature.Value).Abs().Celsius > 0.5);
            }
            return false;
        }
    );
    sensor.Subscribe(consumer);
    sensor.Updated += (sender, result) =>
    {
        Resolver.Log.Info($"  Temperature: {result.New.Temperature?.Celsius:N2}C");
        Resolver.Log.Info($"  Relative Humidity: {result.New.Humidity?.Percent:N2}%");
    };
    return Task.CompletedTask;
}
public override Task Run()
{
    sensor.StartUpdating(TimeSpan.FromSeconds(1));
    return Task.CompletedTask;
}