public static async Task RunAsync([IoTHubTrigger("messages/events", Connection = "MyIotHubConnectionString")] EventData message, ILogger log) { try { // Json binnenhalen string strJson = Encoding.UTF8.GetString(message.Body.Array); //Ophalen van de data //string strJson = await new StreamReader(test).ReadToEndAsync(); TemperatureMessage newTemperatureMessage = JsonConvert.DeserializeObject <TemperatureMessage>(strJson); newTemperatureMessage.strId = Guid.NewGuid().ToString(); // Map Entities aanmaken + classe aanmaken + shortcut tibovc_IOT_CreateEntity gebruiken string connectionString = Environment.GetEnvironmentVariable("ConnectionString"); CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString); CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); CloudTable table = tableClient.GetTableReference("tblTemperature"); // Wegschrijven // Partitionkey --> Goed over nadenken welke je gaat kiezen TemperatureRegistrationEntity entEntityClassName = new TemperatureRegistrationEntity(newTemperatureMessage.strDeviceId, newTemperatureMessage.strId) { intTemp = newTemperatureMessage.intTemp }; TableOperation insertOperation = TableOperation.Insert(entEntityClassName); await table.ExecuteAsync(insertOperation); log.LogInformation("Ok"); } catch (Exception ex) { log.LogInformation(ex.Message); throw; } }
public void OutsideTemperatureFiltered() { // Act var message = new TemperatureMessage(_examplePayload); // Assert message.OutsideTemperatureFiltered.Should().Be(new Celsius(22.5)); }
public void InsideTemperature() { // Act var message = new TemperatureMessage(_examplePayload); // Assert message.InsideTemperature.Should().Be(new Celsius(31)); }
public void AirConditioningTemperature() { // Act var message = new TemperatureMessage(_examplePayload); // Assert message.AirConditioningTemperature.Should().Be(new Celsius(25.5)); }
public void CoolantTempPowerTrainInlet() { // Act var message = new TemperatureMessage(_examplePayload); // Assert message.CoolantTempPowerTrainInlet.Should().Be(new Celsius(32.75m)); }
public void CoolantTempBatteryInlet() { // Act var message = new TemperatureMessage(_examplePayload); // Assert message.CoolantTempBatteryInlet.Should().Be(new Celsius(28.5m)); }
public void AmbientTempRaw() { // Act var message = new TemperatureMessage(_examplePayload); // Assert message.AmbientTempRaw.Should().Be(new Celsius(5m)); }
public static TemperatureMark[] ToDomain(this TemperatureMessage message) { if (message == null) { return(null); } return(message?.Temperatures.Select(_ => new TemperatureMark { HostName = message.HostName, Timestamp = message.Timestamp, PartName = _.PartName, Temperature = _.Temperature }).ToArray()); }
public void UpdateTemperatureMessage(TemperatureMessage message) { if (message == null) { return; } _latestTemperatureMessage = message; SendMessageToHub(_latestTemperatureMessage); }
public async Task SendDataAsync(TemperatureMessage message) { var data = JsonSerializer.Serialize(message); await using (ServiceBusClient client = new ServiceBusClient(_connectionString)) { ServiceBusSender sender = client.CreateSender(_topicName); await sender.SendMessageAsync(new ServiceBusMessage(data)); } }
public async Task SendData(TemperatureMessage message) { var data = JsonSerializer.Serialize(message); await using (ServiceBusClient client = new ServiceBusClient(_connectionString)); // create a sender for the queue ServiceBusSender sender = client.CreateSender(_topicName); // send the message await sender.SendMessageAsync(new ServiceBusMessage(data)); Console.WriteLine($"Sent a single message to the queue: {_topicName}"); }
private void InitializeMessages() { _latestContextMessage = new ContextMessage { GeoFilter = GeoFilter.All, TimeFilter = DateTime.Today }; _latestSummaryMessage = new SummaryMessage() { IsDefault = true }; _latestTemperatureMessage = new TemperatureMessage() { IsDefault = true }; _latestHeartRateMessage = new HeartRateMessage() { IsDefault = true }; _latestOxygenMessage = new OxygenMessage() { IsDefault = true }; _latestBostonMessage = new BostonMessage() { IsDefault = true }; _latestChicagoMessage = new ChicagoMessage() { IsDefault = true }; _latestNewYorkMessage = new NewYorkMessage() { IsDefault = true }; _latestGlucoseMessage = new GlucoseMessage() { IsDefault = true }; _sendToGroup = new Dictionary <string, Action>() { { GetMessageMetadata <ContextMessage>().Group, () => SendMessageToHub(LatestContextMessage) }, { GetMessageMetadata <SummaryMessage>().Group, () => SendMessageToHub(LatestSummaryMessage) }, { GetMessageMetadata <TemperatureMessage>().Group, () => SendMessageToHub(LatestTemperatureMessage) }, { GetMessageMetadata <OxygenMessage>().Group, () => SendMessageToHub(LatestOxygenMessage) }, { GetMessageMetadata <GlucoseMessage>().Group, () => SendMessageToHub(LatestGlucoseMessage) }, { GetMessageMetadata <HeartRateMessage>().Group, () => SendMessageToHub(LatestHeartRateMessage) }, { GetMessageMetadata <BostonMessage>().Group, () => SendMessageToHub(LatestBostonMessage) }, { GetMessageMetadata <ChicagoMessage>().Group, () => SendMessageToHub(LatestChicagoMessage) }, { GetMessageMetadata <NewYorkMessage>().Group, () => SendMessageToHub(LatestNewYorkMessage) } }; }
public async Task <IActionResult> SaveTemperature(DeviceTemperatureModel model) { try { var message = new TemperatureMessage(); message.DeviceId = model.DeviceId; message.MeasurementdData = model.MeasurementdData; message.TemperatureDesired = model.TemperatureDesired; message.TemperatureMeasured = model.TemperatureMeasured; await _messageService.SendData(message); return(Ok()); }catch (Exception e) { return(StatusCode(500, new { Message = e.Message })); } }
private void OnTemperatureMessage(TemperatureMessage message) { Log.Debug(Tag, "Temperature Message: " + message.TemperatureReading); _lastUpdatedTemperature = message.TemperatureReading; if (_display != null) { if (_displayMode == AlphaNumericDisplayMode.Temperature) { UpdateDisplay(message.TemperatureReading); } if (_useHubs) { _weatherDevice.UpdateTemperature(message.TemperatureReading); _weatherDevice.SendTelemetryData = true; } } }