1 """Support for Ripple sensors."""
3 from __future__
import annotations
5 from datetime
import timedelta
7 from pyripple
import get_balance
8 import voluptuous
as vol
11 PLATFORM_SCHEMA
as SENSOR_PLATFORM_SCHEMA,
20 DEFAULT_NAME =
"Ripple Balance"
24 PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend(
26 vol.Required(CONF_ADDRESS): cv.string,
27 vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
35 add_entities: AddEntitiesCallback,
36 discovery_info: DiscoveryInfoType |
None =
None,
38 """Set up the Ripple.com sensors."""
39 address = config.get(CONF_ADDRESS)
40 name = config.get(CONF_NAME)
46 """Representation of an Ripple.com sensor."""
48 _attr_attribution =
"Data provided by ripple.com"
51 """Initialize the sensor."""
59 """Return the name of the sensor."""
60 return self.
_name_name
64 """Return the state of the sensor."""
69 """Return the unit of measurement this sensor expresses itself in."""
73 """Get the latest state of the sensor."""
74 if (balance := get_balance(self.
addressaddress))
is not None:
75 self.
_state_state = balance
def native_unit_of_measurement(self)
def __init__(self, name, address)
def add_entities(account, async_add_entities, tracked)
None setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)