public async void serialize_dashboard() { var deviceManager = new WeatherDevicesManager(_weatherTokensFactory, _userUnitsService); var deviceData = await deviceManager.ReadDataFromDevice("70:ee:50:29:4a:4a"); JsonConvert.DefaultSettings = () => NoSettingsFactory(); var jsonData = JsonConvert.SerializeObject(deviceData.DashboardData); Check.That(jsonData).IsNotEmpty(); }
public async void return_data_device_from_serge_station() { var deviceManager = new WeatherDevicesManager(_weatherTokensFactory, _userUnitsService); var deviceData = await deviceManager.ReadDataFromDevice("70:ee:50:29:4a:4a"); Check.That(deviceData.Modules.Count()).IsEqualTo(3); Check.That(((WeatherBaseStationDashboard)deviceData.DashboardData).Pressure.Value).IsStrictlyGreaterThan(0); Check.That(((WeatherBaseStationDashboard)deviceData.DashboardData).Noise.Value).IsStrictlyGreaterThan(0); Check.That(((WeatherBaseStationDashboard)deviceData.DashboardData).Noise.Unit).IsEqualTo("db"); Check.That(((WeatherBaseStationDashboard)deviceData.DashboardData).Temperature.Unit).IsEqualTo("°C"); }
public async void return_data_device_from_marc_station() { var deviceManager = new WeatherDevicesManager(_weatherTokensFactory, _userUnitsService); var deviceData = await deviceManager.ReadDataFromDevice("70:ee:50:04:65:4c"); Check.That(deviceData.Modules.Count()).IsEqualTo(2); Check.That(((WeatherBaseStationDashboard)deviceData.DashboardData).Pressure.Value).IsStrictlyGreaterThan(0); Check.That(((WeatherBaseStationDashboard)deviceData.DashboardData).Noise.Value).IsStrictlyGreaterThan(0); Check.That(((WeatherBaseStationDashboard)deviceData.DashboardData).Temperature.Unit).IsEqualTo("°C"); var rainModules = deviceData.Modules.Where(m => m.DashboardData is WeatherRainGaugeDashboard); if (rainModules.Any()) { Check.That(((WeatherRainGaugeDashboard)rainModules.First().DashboardData).CurrentRain.Unit).IsEqualTo("mm/h"); } }
public async Task <bool> Run(string sentinelName, string packageName, string homeControllerUrl, int homeControllerPort, bool useSsl, object parameter) { base.Run(sentinelName, packageName); var clientId = SetParameters(parameter, out var clientSecret, out var username, out var password); var weatherTokensFactory = new WeatherTokensFactory(username, password, clientId, clientSecret); _servicesProvider = ConfigureServices(); _statesValuesHost = new StatesValuesHost(this, HomeConnectionServer.CreateConnection(homeControllerUrl, homeControllerPort, useSsl)); _weatherDeviceManager = new WeatherDevicesManager(weatherTokensFactory, _servicesProvider.GetService <IUserUnitsService>()); SetTimeToSendValue(parameter); await FirstRetrieveData(); return(true); }