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); }
public InverterViewModel(IFroniusModel froniusModel) { _froniusModel = froniusModel; _getRealtimeDataCommand = new DelegateCommand(async() => await ExecuteGetRealtimeDataCommandAsync(), CanExecuteGetRealtimeDataCommand); }
public ArchiveViewModel(IFroniusModel froniusModel) { _froniusModel = froniusModel; _getArchiveDataCommand = new DelegateCommand(async() => await ExecuteGetArchiveDataCommandAsync(), CanExecuteGetArchiveDataCommand); }