Class: ESPHome::Entities::Sensor

Inherits:
ESPHome::Entity show all
Includes:
HasDeviceClass, HasState
Defined in:
lib/esphome/entities/sensor.rb

Instance Attribute Summary collapse

Attributes inherited from ESPHome::Entity

#device, #disabled_by_default, #entity_category, #icon, #key, #name, #object_id_

Instance Method Summary collapse

Methods inherited from ESPHome::Entity

#inspect

Constructor Details

#initialize(_device, list_entities_response) ⇒ Sensor

Returns a new instance of Sensor.



13
14
15
16
17
18
19
20
# File 'lib/esphome/entities/sensor.rb', line 13

def initialize(_device, list_entities_response)
  super

  @unit_of_measurement = list_entities_response.unit_of_measurement
  @accuracy_decimals = list_entities_response.accuracy_decimals
  @force_update = list_entities_response.force_update
  @state_class = list_entities_response.state_class[12..].downcase.to_sym
end

Instance Attribute Details

#accuracy_decimalsObject (readonly)

Returns the value of attribute accuracy_decimals.



9
10
11
# File 'lib/esphome/entities/sensor.rb', line 9

def accuracy_decimals
  @accuracy_decimals
end

#state_classObject (readonly)

Returns the value of attribute state_class.



9
10
11
# File 'lib/esphome/entities/sensor.rb', line 9

def state_class
  @state_class
end

#unit_of_measurementObject (readonly)

Returns the value of attribute unit_of_measurement.



9
10
11
# File 'lib/esphome/entities/sensor.rb', line 9

def unit_of_measurement
  @unit_of_measurement
end

Instance Method Details

#force_update?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/esphome/entities/sensor.rb', line 22

def force_update?
  @force_update
end

#formatted_stateObject



26
27
28
29
30
31
32
33
34
# File 'lib/esphome/entities/sensor.rb', line 26

def formatted_state
  result = if state
             format("%.#{accuracy_decimals}f", state)
           else
             "-"
           end
  result += " #{unit_of_measurement}" if unit_of_measurement
  result
end