public ViessmannHeatingPollingService(ILogger <ViessmannHeatingPollingService> logger, IViessmannDbContext dbContext, IOptions <ViessmannConfig> config, ViessmannPlatformClient platformClient) { _logger = logger; _dbContext = dbContext; _config = config.Value; _platformClient = platformClient; }
public ViessmannHeatingViewModel(IViessmannDbContext databaseContext) : base(new Dictionary <Resolution, IQueryable <ViessmannHeatingData> >() { { Resolution.LowRes, databaseContext.ViessmannHeatingLowresTimeseries }, { Resolution.MidRes, databaseContext.ViessmannHeatingTimeseries } }, Enumerable.Range(0, 14).ToDictionary(x => x.ToString(), x => x)) { }
public ViessmannSolarViewModel(IViessmannDbContext databaseContext, IStringLocalizer <ViessmannSolarViewModel> localizer) : base(new Dictionary <Resolution, IQueryable <ViessmannSolarData> >() { { Resolution.LowRes, databaseContext.ViessmannSolarLowresTimeseries }, { Resolution.MidRes, databaseContext.ViessmannSolarTimeseries } }, Enumerable.Range(0, 5).ToDictionary(x => x.ToString(), x => x), localizer) { }
public static void SaveSolarValues(IViessmannDbContext dbContext, DateTime time, int solarWhTotal, double solarCollectorTemp, double solarHotwaterTemp, bool solarPumpState, bool solarSuppression) { var day = time.Date; var dbSolarSeries = dbContext.ViessmannSolarTimeseries.Where(x => x.Key == day).FirstOrDefault(); if (dbSolarSeries == null) { dbContext.ViessmannSolarTimeseries.Add(dbSolarSeries = new ViessmannSolarMidresData() { Key = day }); } var oldSolarWhTotal = dbSolarSeries.SolarWhTotal; var series1 = dbSolarSeries.SolarWhSeries; series1.Accumulate(time, oldSolarWhTotal.HasValue ? solarWhTotal - oldSolarWhTotal.Value : 0); dbSolarSeries.SetSeries(0, series1); dbSolarSeries.SolarWhTotal = solarWhTotal; var series2 = dbSolarSeries.SolarCollectorTempSeries; series2[time] = solarCollectorTemp; dbSolarSeries.SetSeries(1, series2); var series3 = dbSolarSeries.SolarHotwaterTempSeries; series3[time] = solarHotwaterTemp; dbSolarSeries.SetSeries(2, series3); var series4 = dbSolarSeries.SolarPumpStateSeries; series4[time] = solarPumpState; dbSolarSeries.SetSeries(3, series4); var series5 = dbSolarSeries.SolarSuppressionSeries; series5[time] = solarSuppression; dbSolarSeries.SetSeries(4, series5); SaveLowresSolarValues(dbContext, day, series1, series2, series3, series4, series5); dbContext.SaveChanges(); }
public ViessmannSolarPollingService(ILogger <ViessmannSolarPollingService> logger, IViessmannDbContext dbContext, ViessmannVitotrolClient vitotrolClient) { _logger = logger; _dbContext = dbContext; _vitotrolClient = vitotrolClient; }
private static void SaveLowresSolarValues(IViessmannDbContext dbContext, DateTime day, TimeSeries <int> series1Src, TimeSeries <double> series2Src, TimeSeries <double> series3Src, TimeSeries <bool> series4Src, TimeSeries <bool> series5Src) {
private static void SaveLowresSolarValues(IViessmannDbContext dbContext, DateTime day, ViessmannSolarMidresData midRes) { var dbSolarSeries = TimeSeriesDbEntityBase.LoadOrCreateMonth(dbContext.ViessmannSolarLowresTimeseries, day);