Init
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import appdaemon.plugins.hass.hassapi as hass
|
||||
import datetime
|
||||
import globals
|
||||
|
||||
#
|
||||
# App recieves xiaomi scale readings, parse user weight and set sensor in home-assistant
|
||||
#
|
||||
# Args:
|
||||
#
|
||||
# sensor = generated sensor name
|
||||
# friendly_name (optional) = sensor friendly name
|
||||
#
|
||||
# None
|
||||
#
|
||||
# Release Notes
|
||||
#
|
||||
# Version 1.0:
|
||||
# Initial Version
|
||||
|
||||
class MiScale(hass.Hass):
|
||||
def initialize(self):
|
||||
if not globals.check_args(self, ["sensor"]):
|
||||
return
|
||||
self.register_endpoint(self.api_call)
|
||||
self.log('started')
|
||||
|
||||
def api_call(self, data):
|
||||
# filter only my data
|
||||
prev_weight = 70
|
||||
weight_date = datetime.datetime.now()
|
||||
for current in data:
|
||||
if abs(current['Weight'] - prev_weight) > 5:
|
||||
continue
|
||||
# self.log(current)
|
||||
prev_weight = current['Weight']
|
||||
weight_date = current['Time']
|
||||
|
||||
attributes = {}
|
||||
attributes['datetime'] = weight_date
|
||||
attributes['unit_of_measurement'] = 'kg'
|
||||
attributes['description'] = 'Created and updated from appdaemon (mi_scale)'
|
||||
if 'friendly_name' in self.args:
|
||||
attributes['friendly_name'] = self.args['friendly_name']
|
||||
|
||||
self.set_state(self.args['sensor'], state = prev_weight, attributes = attributes)
|
||||
return 'ok', 200
|
||||
|
||||
Reference in New Issue
Block a user