module ParseP1::Gas

Public Instance Methods

gas_meter_id() click to toggle source
# File lib/parse_p1/gas.rb, line 7
def gas_meter_id
  obis_records['0-1:96.1.0'].first
end
gas_usage() click to toggle source
# File lib/parse_p1/gas.rb, line 22
def gas_usage
  result = get_gas(-1)
  result.to_f if result
end
last_hourly_reading_gas() click to toggle source

Only 2 digits for year!

# File lib/parse_p1/gas.rb, line 12
def last_hourly_reading_gas
  result = get_gas(0)
  DateTime.new(('20'+result[0..1]).to_i, result[2..3].to_i, result[4..5].to_i, result[6..7].to_i, result[8..9].to_i) if result
end
measurement_unit_gas() click to toggle source

TODO remove this silly method?

# File lib/parse_p1/gas.rb, line 18
def measurement_unit_gas
  'm3'
end

Private Instance Methods

gas_obis_codes() click to toggle source
# File lib/parse_p1/gas.rb, line 37
def gas_obis_codes
  ['0-1:24.3.0', '0-1:24.2.1', '0-2:24.1.0', '0-2:24.3.0', '0-2:24.2.1', '0-2:24.4.0']
end
get_gas(index_of_values) click to toggle source
# File lib/parse_p1/gas.rb, line 29
def get_gas(index_of_values)
  gas_obis_codes.each do |obis_code|
    @result = obis_records[obis_code]
    break unless @result.nil?
  end
  @result[index_of_values] if @result
end