- my $pkg = shift;
- my $class = ref $pkg || $pkg;
- my $self = bless {}, $class;
- $self->{poll_interval} ||= 2.5;
- $self->{rain_mult} ||= 0.2; # 0.1 or 0.2 mm or 0.01 inches
- $self->{devname} ||= "/dev/davis";
- $self->{datafn} ||= ".loop_data";
- $self->{state} ||= "ready";
-
- open $self->{dataf}, "+>>", $self->{dataf} or die "cannot open $self->{dataf} $!";
- $self->{dataf}->autoflush(1);
- $self->read_ld;
-
- dbg "last_min: " . scalar gmtime($self->{ld}->{last_min});
- dbg "last_hour: " . scalar gmtime($self->{ld}->{last_hour});
-
- return $self;
-}
-
-sub start
-{
- $self->{did} = Mojo::IOLoop->recurring(1 => sub {$dlog->flushall});
- do_reopen($self->{devname});
-}
-
-sub stop
-{
- $self->write_ld;
- close $self->{dataf} if $self->{dataf};
- delete $self->{dataf};
+ our $dlog = SMGLog->new("day");
+ my $tnow = time;
+ my $dayno = int ($tnow/86400);
+ 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);