Пример #1
0
        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();
        }
Пример #2
0
        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");
        }
Пример #3
0
        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");
            }
        }
Пример #4
0
        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);
        }