Esempio n. 1
0
        public MainViewModel(IFroniusModel froniusModel)
        {
            _froniusModel = froniusModel;
            ApiVersion    = _froniusModel.Connect("fronius.fritz.box");
            _address      = _froniusModel.Address;

            ArchiveViewModel = new ArchiveViewModel(froniusModel);
            ArchiveViewModel.PropertyChanged += ArchiveViewModelPropertyChangedEventHandler;

            SmartMeterViewModel = new SmartMeterViewModel(froniusModel);
            SmartMeterViewModel.PropertyChanged += SmartMeterViewModelPropertyChangedEventHandler;

            InverterViewModel = new InverterViewModel(froniusModel);
            InverterViewModel.PropertyChanged += InverterViewModelPropertyChangedEventHandler;

            _timer    = new DispatcherTimer(TimeSpan.FromSeconds(TIMER_SECONDS), DispatcherPriority.Normal, OnTimerElapsed, Dispatcher.CurrentDispatcher);
            PlotModel = new PlotModel();
            InitPlotModel();

            // trigger first update
            OnTimerElapsed(null, EventArgs.Empty);
        }
Esempio n. 2
0
 public InverterViewModel(IFroniusModel froniusModel)
 {
     _froniusModel           = froniusModel;
     _getRealtimeDataCommand = new DelegateCommand(async() => await ExecuteGetRealtimeDataCommandAsync(), CanExecuteGetRealtimeDataCommand);
 }
Esempio n. 3
0
 public ArchiveViewModel(IFroniusModel froniusModel)
 {
     _froniusModel          = froniusModel;
     _getArchiveDataCommand = new DelegateCommand(async() => await ExecuteGetArchiveDataCommandAsync(), CanExecuteGetArchiveDataCommand);
 }