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)
 {
Exemple #7
0
 private static void SaveLowresSolarValues(IViessmannDbContext dbContext, DateTime day, ViessmannSolarMidresData midRes)
 {
     var dbSolarSeries = TimeSeriesDbEntityBase.LoadOrCreateMonth(dbContext.ViessmannSolarLowresTimeseries, day);