Files
home-assistant-alt/appdaemon/settings/apps/alice/mqttSay.py
T
2024-01-11 15:10:51 +03:00

32 lines
1.1 KiB
Python

import appdaemon.plugins.hass.hassapi as hass
import appdaemon.plugins.mqtt.mqttapi as mqtt
import globals
import json
import random
import time
import datetime
class MqttSay(mqtt.Mqtt, hass.Hass):
base_topic = "home/AliceBig/say"
def initialize(self) -> None:
self.log('Initialize Alice say plugin')
self.base_topic = self.args.get('topic', self.base_topic)
self.log('Listening for {}'.format(self.base_topic))
self.mqtt_subscribe(self.base_topic, namespace='mqtt')
self.listen_event(self.event_listener, 'MQTT_MESSAGE', namespace='mqtt')
def event_listener(self, event_name, data, kwargs):
if self.base_topic != data['topic']:
return
self.say(data['payload'])
def command(self, command):
self.call_service('yandex_station/send_command', command='sendText', text=command)
def say(self, command):
# self.call_service('media_player/volume_set', entity_id=self.args['alice'], volume_level=0.6)
self.call_service('media_player/play_media', entity_id=self.args['alice'], media_content_type='text', media_content_id=command)