public TabStatusViewModel(ConfigController cfgController, WeatherSensorDataProvider sensorDataProvider, WateringExecution wateringExecution, bool debug)
        {
            _sensorDataProvider = sensorDataProvider;
            _cfgCtrl            = cfgController;
            _wateringExecution  = wateringExecution;
            _debug = debug;

            _wateringExecution.PropertyChanged += WateringExecution_PropertyChanged;
            sensorDataProvider.PropertyChanged += SensorDataProvider_PropertyChanged;

            if (!_debug)
            {
                DigitalIOConnector.Instance.PropertyChanged += DigitalIOConnector_PropertyChanged;
            }

            LastReadingPoints = new RangeAddableObservableCollection <Measurement>(_sensorDataProvider.LastReadingPoints);

            ChangePumpStatusCmd = ReactiveCommand.Create(DoChangePumpStatus);
        }
Ejemplo n.º 2
0
        private void MakeTestData()
        {
            WateringData data1 = new WateringData()
            {
                CorrHot      = 1,
                CorrCold     = 1,
                SamplesCount = 200,
                SamplesHot   = 50,
                SamplesCold  = 0,
                DurationRain = 0,
                Duration     = 90,
                TimeStamp    = DateTime.Now
            };
            WateringData data2 = new WateringData()
            {
                CorrHot      = 1,
                CorrCold     = 1,
                SamplesCount = 200,
                SamplesHot   = 40,
                SamplesCold  = 0,
                DurationRain = 0,
                Duration     = 60,
                TimeStamp    = DateTime.Now.AddMinutes(15)
            };
            WateringData data3 = new WateringData()
            {
                CorrHot      = 1,
                CorrCold     = 1,
                SamplesCount = 200,
                SamplesHot   = 150,
                SamplesCold  = 0,
                DurationRain = 0,
                Duration     = 60,
                TimeStamp    = DateTime.Now.AddMinutes(30)
            };
            WateringData data4 = new WateringData()
            {
                CorrHot      = 1,
                CorrCold     = 1,
                SamplesCount = 200,
                SamplesHot   = 150,
                SamplesCold  = 0,
                DurationRain = 0,
                Duration     = 60,
                TimeStamp    = DateTime.Now.AddMinutes(45)
            };
            WateringData data5 = new WateringData()
            {
                CorrHot      = 1,
                CorrCold     = 1,
                SamplesCount = 200,
                SamplesHot   = 150,
                SamplesCold  = 0,
                DurationRain = 0,
                Duration     = 60,
                TimeStamp    = DateTime.Now.AddMinutes(60)
            };

            DataList = new RangeAddableObservableCollection <WateringData>
            {
                data1,
                data2,
                data3,
                data4,
                data5
            };
        }