incorporated other logic

This commit is contained in:
John Lancaster
2023-11-24 16:38:40 -06:00
parent 964b7fa0b0
commit 1fbe4d3dae

View File

@@ -12,6 +12,9 @@ class AqaraCube(Mqtt):
self.listen_event(self.handle_event, "MQTT_MESSAGE", topic=topic) self.listen_event(self.handle_event, "MQTT_MESSAGE", topic=topic)
self.log(f'Listening for cube events on: {topic}') self.log(f'Listening for cube events on: {topic}')
self.app = self.get_app(self.args['app'])
self.log(f'Connected to other app: {self.app.name}')
def handle_event(self, event_name, data, kwargs): def handle_event(self, event_name, data, kwargs):
topic = data['topic'] topic = data['topic']
payload = json.loads(data['payload']) payload = json.loads(data['payload'])
@@ -29,20 +32,34 @@ class AqaraCube(Mqtt):
def action_handler(self, action: str , description: str): def action_handler(self, action: str , description: str):
self.log(f'{self.args["cube"]}: {action}: {description}') self.log(f'{self.args["cube"]}: {action}: {description}')
def handle_rotate_right(self, payload): if description == 'activate':
self.log(f'{self.args["cube"]}: Rotate right') self.app.activate(cause=f'{self.args["cube"]}: {action}')
def handle_rotate_left(self, payload): elif description.startswith('scene.'):
self.log(f'{self.args["cube"]}: Rotate left') self.call_service('scene/turn_on', entity_id=description, namespace='default')
self.log(f'Turned on {description}')
def handle_slide(self, payload): elif description == 'toggle':
self.log(f'{self.args["cube"]}: Slide') cause = f'{action} from {self.args["cube"]}'
if self.app.entity_state:
self.app.deactivate(cause=cause)
else:
self.app.activate(cause=cause)
def handle_flip180(self, payload): # def handle_rotate_right(self, payload):
self.log(f'{self.args["cube"]}: Flipped 180') # self.log(f'{self.args["cube"]}: Rotate right')
def handle_flip90(self, payload): # def handle_rotate_left(self, payload):
self.log(f'{self.args["cube"]}: Flipped 90') # self.log(f'{self.args["cube"]}: Rotate left')
def handle_shake(self, payload): # def handle_slide(self, payload):
self.log(f'{self.args["cube"]}: Shake') # self.log(f'{self.args["cube"]}: Slide')
# def handle_flip180(self, payload):
# self.log(f'{self.args["cube"]}: Flipped 180')
# def handle_flip90(self, payload):
# self.log(f'{self.args["cube"]}: Flipped 90')
# def handle_shake(self, payload):
# self.log(f'{self.args["cube"]}: Shake')