Class: ESPHome::Entities::Sensor
- Inherits:
-
ESPHome::Entity
- Object
- ESPHome::Entity
- ESPHome::Entities::Sensor
- Includes:
- HasDeviceClass, HasState
- Defined in:
- lib/esphome/entities/sensor.rb
Instance Attribute Summary collapse
-
#accuracy_decimals ⇒ Object
readonly
Returns the value of attribute accuracy_decimals.
-
#state_class ⇒ Object
readonly
Returns the value of attribute state_class.
-
#unit_of_measurement ⇒ Object
readonly
Returns the value of attribute unit_of_measurement.
Attributes inherited from ESPHome::Entity
#device, #disabled_by_default, #entity_category, #icon, #key, #name, #object_id_
Instance Method Summary collapse
- #force_update? ⇒ Boolean
- #formatted_state ⇒ Object
-
#initialize(_device, list_entities_response) ⇒ Sensor
constructor
A new instance of Sensor.
Methods inherited from ESPHome::Entity
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_decimals ⇒ Object (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_class ⇒ Object (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_measurement ⇒ Object (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
22 23 24 |
# File 'lib/esphome/entities/sensor.rb', line 22 def force_update? @force_update end |
#formatted_state ⇒ Object
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 |