private void HandleMessageReceived(MqttApplicationMessage message) { Console.WriteLine("### RECEIVED APPLICATION MESSAGE ###"); Console.WriteLine($"+ Topic = {message.Topic}"); Console.WriteLine($"+ Payload = {Encoding.UTF8.GetString(message.Payload)}"); Console.WriteLine($"+ QoS = {message.QualityOfServiceLevel}"); Console.WriteLine($"+ Retain = {message.Retain}"); Console.WriteLine(); string payload = Encoding.UTF8.GetString(message.Payload); Console.WriteLine(payload); TempratureModel tempratureModel = new TempratureModel(); tempratureModel.Id = Guid.NewGuid().ToString(); tempratureModel.timeStamp = DateTime.Now.ToString("MMM_dd_yyyy_HH_mm_ss"); tempratureModel.value = payload; context.tempratures.Add(tempratureModel); context.SaveChanges(); Console.WriteLine("Temprature added"); }
private void HandleMessageReceived(MqttApplicationMessage message) { Console.WriteLine("### RECEIVED APPLICATION MESSAGE ###"); Console.WriteLine($"+ Topic = {message.Topic}"); Console.WriteLine($"+ Payload = {Encoding.UTF8.GetString(message.Payload)}"); Console.WriteLine($"+ QoS = {message.QualityOfServiceLevel}"); Console.WriteLine($"+ Retain = {message.Retain}"); Console.WriteLine(); string payload = Encoding.UTF8.GetString(message.Payload); var testObject = JsonConvert.DeserializeObject <highestObject>(payload); FullDatagram datagram = new FullDatagram(); datagram.signature = testObject.datagram.signature; datagram.Id = Guid.NewGuid().ToString(); datagram.timeStamp = DateTime.Now.ToString("MMM_dd_yyyy_HH_mm_ss"); foreach (var substring in testObject.datagram.p1.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) { if (substring.Contains("1-0:1.8.1")) { double value = Convert.ToDouble(removeExcessData(substring.ToString(), "1-0:1.8.1", "*kWh")); datagram.totalHigh = value; } else if (substring.Contains("1-0:1.8.2")) { double value = Convert.ToDouble(removeExcessData(substring.ToString(), "1-0:1.8.2", "*kWh")); datagram.totalLow = value; } else if (substring.Contains("1-0:1.7.0")) { double value = Convert.ToDouble(removeExcessData(substring.ToString(), "1-0:1.7.0", "*kW")); datagram.currentUsage = value; } else if (substring.Contains("1-0:2.8.1")) { double value = Convert.ToDouble(removeExcessData(substring.ToString(), "1-0:2.8.1", "*kWh")); datagram.returnHigh = value; } else if (substring.Contains("1-0:2.8.2")) { double value = Convert.ToDouble(removeExcessData(substring.ToString(), "1-0:2.8.2", "*kWh")); datagram.returnLow = value; } else if (substring.Contains("0-1:24.2.1")) { double value = Convert.ToDouble(removeExcessData(substring.ToString(), "0-1:24.2.1", "*m3", "210330112500S")); datagram.gasUsage = value; } } if (datagram.currentUsage > 10) { datagram.currentUsage = datagram.currentUsage / 1000; datagram.totalHigh = datagram.totalHigh / 1000; datagram.totalLow = datagram.totalLow / 1000; datagram.returnHigh = datagram.returnHigh / 1000; datagram.returnLow = datagram.returnLow / 1000; datagram.gasUsage = datagram.gasUsage / 1000; } context.datagrams.Add(datagram); context.SaveChanges(); Console.WriteLine("datagram added"); }