Class: Mochizuki::AutoQuery

Inherits:
Object
  • Object
show all
Defined in:
lib/mochizuki/auto_query.rb

Instance Method Summary collapse

Constructor Details

#initialize(logger = Mochizuki.logger, config = Mochizuki.config) ⇒ AutoQuery

Returns a new instance of AutoQuery.



7
8
9
10
11
12
# File 'lib/mochizuki/auto_query.rb', line 7

def initialize(logger = Mochizuki.logger, config = Mochizuki.config)
  @logger = logger
  @config = config

  Mochizuki::Fetcher.new.fetch # update Mochizuki.status
end

Instance Method Details

#alarmObject



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/mochizuki/auto_query.rb', line 14

def alarm
  scheduler = Rufus::Scheduler.new
  scheduler.every @config.query_interval.to_s do
    power = Mochizuki::Fetcher.new.fetch
    @logger.info "Auto query, #{power} kWh remaining"
    if Mochizuki.status.auto_alarm_triggered?
      yield(power)
      Mochizuki.status.alarmed_before = true
      @logger.info 'Auto alarm is suppressed for now'
    end
  end
end