handle unloading of children
github-actions opened this issue · comments
github-actions commented
handle unloading of children
add_entities(sensors, True)
# TODO: handle loading of children
def services_children_add(call):
endpoint = ATTR_CHILDREN
data = {
ATTR_FIRST_NAME: call.data.get(ATTR_FIRST_NAME),
ATTR_LAST_NAME: call.data.get(ATTR_LAST_NAME),
ATTR_BIRTH_DATE: call.data.get(ATTR_BIRTH_DATE),
}
baby_buddy_data.entities_add(endpoint, data)
def services_changes_add(call):
endpoint = ATTR_CHANGES
data = {
ATTR_CHILD: hass.states.get(call.data.get(ATTR_CHILD)).attributes.get("id"),
ATTR_TIME: call.data.get(ATTR_TIME),
ATTR_WET: call.data.get(ATTR_WET),
ATTR_SOLID: call.data.get(ATTR_SOLID),
ATTR_COLOR: call.data.get(ATTR_COLOR).lower(),
ATTR_AMOUNT: call.data.get(ATTR_AMOUNT),
ATTR_NOTES: call.data.get(ATTR_NOTES),
}
baby_buddy_data.entities_add(endpoint, data)
def services_feedings_add(call):
endpoint = ATTR_FEEDINGS
data = {
ATTR_CHILD: hass.states.get(call.data.get(ATTR_CHILD)).attributes.get("id"),
ATTR_START: call.data.get(ATTR_START),
ATTR_END: call.data.get(ATTR_END),
ATTR_TYPE: call.data.get(ATTR_TYPE).lower(),
ATTR_METHOD: call.data.get(ATTR_METHOD).lower(),
ATTR_AMOUNT: call.data.get(ATTR_AMOUNT),
ATTR_NOTES: call.data.get(ATTR_NOTES),
}
baby_buddy_data.entities_add(endpoint, data)
def services_notes_add(call):
endpoint = ATTR_NOTES
data = {
ATTR_CHILD: hass.states.get(call.data.get(ATTR_CHILD)).attributes.get("id"),
ATTR_NOTE: call.data.get(ATTR_NOTE),
ATTR_TIME: call.data.get(ATTR_TIME),
}
baby_buddy_data.entities_add(endpoint, data)
def services_sleep_add(call):
endpoint = ATTR_SLEEP
data = {
ATTR_CHILD: hass.states.get(call.data.get(ATTR_CHILD)).attributes.get("id"),
ATTR_START: call.data.get(ATTR_START),
ATTR_END: call.data.get(ATTR_END),
ATTR_NOTES: call.data.get(ATTR_NOTES),
}
baby_buddy_data.entities_add(endpoint, data)
def services_temperature_add(call):
endpoint = ATTR_TEMPERATURE
data = {
ATTR_CHILD: hass.states.get(call.data.get(ATTR_CHILD)).attributes.get("id"),
ATTR_TEMPERATURE: call.data.get(ATTR_TEMPERATURE),
ATTR_TIME: call.data.get(ATTR_TIME),
ATTR_NOTES: call.data.get(ATTR_NOTES),
}
baby_buddy_data.entities_add(endpoint, data)
"""
def services_timers_add(call):
endpoint = ATTR_TIMERS
data = {}
baby_buddy_data.entities_add(endpoint, data)
"""
def services_tummy_times_add(call):
endpoint = ATTR_TUMMY_TIMES
data = {
ATTR_CHILD: hass.states.get(call.data.get(ATTR_CHILD)).attributes.get("id"),
ATTR_START: call.data.get(ATTR_START),
ATTR_END: call.data.get(ATTR_END),
ATTR_MILESTONE: call.data.get(ATTR_MILESTONE),
}
baby_buddy_data.entities_add(endpoint, data)
def services_weight_add(call):
endpoint = ATTR_WEIGHT
data = {
ATTR_CHILD: hass.states.get(call.data.get(ATTR_CHILD)).attributes.get("id"),
ATTR_WEIGHT: call.data.get(ATTR_WEIGHT),
ATTR_DATE: call.data.get(ATTR_DATE),
ATTR_NOTES: call.data.get(ATTR_NOTES),
}
baby_buddy_data.entities_add(endpoint, data)
# TODO: handle unloading of children
def services_delete(call):
endpoint = call.data.get(ATTR_ENDPOINT).lower().replace(" ", "-")
data = call.data.get(ATTR_ENTRY)
baby_buddy_data.entities_delete(endpoint, data)
hass.services.register(DOMAIN, "services_children_add", services_children_add)
hass.services.register(DOMAIN, "services_changes_add", services_changes_add)
hass.services.register(DOMAIN, "services_feedings_add", services_feedings_add)
hass.services.register(DOMAIN, "services_notes_add", services_notes_add)
hass.services.register(DOMAIN, "services_sleep_add", services_sleep_add)
hass.services.register(DOMAIN, "services_temperature_add", services_temperature_add)
# TODO: add timers service
"""hass.services.register(DOMAIN, "services_timers_add", services_timers_add)"""
hass.services.register(DOMAIN, "services_tummy_times_add", services_tummy_times_add)
hass.services.register(DOMAIN, "services_weight_add", services_weight_add)
hass.services.register(DOMAIN, "services_delete", services_delete)
class BabyBuddySensor(Entity):
"""Representation of a Baby Buddy Sensor."""
9d7d37b48c73a4fc1ecf5260652a3c30e45b057f
github-actions commented
Closed in f1c338a