fix main graph history slurping
[dweather.git] / loop.pl
diff --git a/loop.pl b/loop.pl
index 2768a009e92bbf74401deccf70db33d688b05da0..fe9165779d3ac551e9b0a66a9ecb5b943e9f016b 100755 (executable)
--- a/loop.pl
+++ b/loop.pl
@@ -42,6 +42,8 @@ our $WS = {};                                 # websocket connections
 our $ld = {};
 our @last10minsr = ();
 our @last5daysh = ();
+our $windmins = 5;                             # no of minutes of wind data for the windrose
+our $histdays = 5;                             # no of days of (half)hour data to search for main graph
 
 our $loop_count;                               # how many LOOPs we have done, used as start indicator
 
@@ -111,11 +113,6 @@ websocket '/weather' => sub {
   $c->send($ld->{lasthour_h}) if exists $ld->{lasthour_h};
   $c->send($ld->{lastmin_h}) if exists $ld->{lastmin_h};
 
-  # send the 5 days worth of data to the graph
-  say "last10min = " . scalar @last10minsr . " last5day = " . scalar  @last5daysh;
-  $c->send($_) for @last10minsr;
-  $c->send($_) for @last5daysh;
-  
   # disable timeout
   $c->inactivity_timeout(3615);
  
@@ -157,8 +154,11 @@ read_ld();
 
 my $tnow = time;
 my $dayno = int ($tnow/86400);
-@last5daysh = grab_history(SMGLog->new("day"), "h", $tnow-(86400*5), $_) for ($dayno-4, $dayno-3, $dayno-2, $dayno-1, $dayno);  
-@last10minsr = map {my ($t, $js) = split(/\s/, $_, 2); $js} grab_history(SMGLog->new("debug"), "r", $tnow-(60*3), $dayno);
+for (my $i = 0-$histdays; $i < 0; ++$i ) {
+       push @last5daysh, grab_history(SMGLog->new("day"), "h", $tnow-(86400*$histdays), $dayno+$i+1); 
+}
+@last10minsr = map {my ($t, $js) = split(/\s/, $_, 2); $js} grab_history(SMGLog->new("debug"), "r", $tnow-(60*$windmins), $dayno);
+dbg sprintf("last5days = %d last10mins = %d", scalar @last5daysh, scalar @last10minsr);
 
 our $dlog = SMGLog->new("day");
 dbg "before next tick";