public MainPage() { InitializeComponent(); Loaded += MainPage_Loaded; iotHubService = new IotHubService(); gpio = GpioController.GetDefault(); tempMeasurements = new List <double>(); humidMeasurements = new List <double>(); thisMinutesMessageSent = false; }
public DeviceController(IotHubService iotHubService) { _iotHubService = iotHubService; }
public async Task Execute(IJobExecutionContext context) { // Used to determine if we should notify all other bulbs, besides the latest that was received bool isNewActivityPresent = false; List <int> bulbIdsToSkipWhenNotifying = new List <int>(); List <BulbTelemetryDTO> latestTelemetryActivity = new List <BulbTelemetryDTO>(); List <int> teamsToNotify = new List <int>(); if (AppSettingsUtil.DebugUsingLocalTelemetryData) { LocalFileService localFileService = new LocalFileService(); latestTelemetryActivity = localFileService.GetLocalMockTelemetry(); } else { // Received new telemetry activity. latestTelemetryActivity = GetLatestTelemetryActivity(); } DeleteExpiredTelemetry(latestTelemetryActivity); foreach (var teleActivity in latestTelemetryActivity) { var newActivityFromTelemetry = new BulbActivity { BulbId = teleActivity.Telemetry.BrightBulbId, DeviceId = teleActivity.DeviceId, RegisteredOn = teleActivity.CreatedOn }; AddTeamToNotifyToList(teamsToNotify, newActivityFromTelemetry); } var latestDBActivities = DbService.GetBulbActivities(); isNewActivityPresent = AddNewActivitiesToDb(isNewActivityPresent, bulbIdsToSkipWhenNotifying, latestTelemetryActivity, latestDBActivities); var signalrContext = GlobalHost.ConnectionManager.GetHubContext <StatusUpdateHub>(); var expiredActivitites = DeleteExpiredActivities(latestDBActivities); if (expiredActivitites != null) { await signalrContext.Clients.All.receiveDataUpdate( JsonConvert.SerializeObject(latestDBActivities), JsonConvert.SerializeObject(expiredActivitites) ); } else { await signalrContext.Clients.All.receiveDataUpdate( JsonConvert.SerializeObject(latestDBActivities), JsonConvert.SerializeObject(null) ); } foreach (var teamId in teamsToNotify) { IotHubService.sendLightUpCommandToAllDevicesInTeam(teamId, bulbIdsToSkipWhenNotifying, isNewActivityPresent); } return; }
public void LightUpTeamBulbs(int teamId) { IotHubService.sendLightUpCommandToAllDevicesInTeam(3, null, true); }