public void Update()
 {
     using (var dbContext = new HelloHomeDbContext())
     {
         var nodes = dbContext.Nodes
             .Include(_ => _.Ports)
             .Include(_ => _.LatestValues)
             .Where(_ => _.Configuration.EmonCmsNodeId.HasValue);
         foreach (var node in nodes)
         {
             var values = new List<float>
             {
                 node.LatestValues.VIn ?? 0,
                 node.LatestValues.Temperature ?? 0,
                 node.LatestValues.Humidity ?? 0,
                 node.LastSeen.HasValue ? (float) (DateTime.Now - node.LastSeen.Value).TotalDays : 0
             };
             foreach (var port in node.Ports.OfType<PulsePort>() .OrderBy(_ => _.Number))
             {
                 values.Add(port.PulseCount);
             }
             values.Add(node.LatestValues.Rssi);
             _emonCmsAgent.Send(node.Configuration.EmonCmsNodeId.Value, values);
         }
     }
 }
 public IEnumerable<Node> Get()
 {
     using (var dbContext = new HelloHomeDbContext ()) {
         return dbContext.Nodes.ToList ();
     }
 }