我已经用 Raspberry Pi 设置了 Google Assistant。我想定义一个自定义操作,但它不起作用。谷歌助理识别句子,但什么也不做。这是一个日志。我如何解决它?
我已经编辑action.py
了我的代码
class SwitchControl(object):
"""Control a RC-Socket"""
COMMAND_ON = 'sudo /home/pi/rcswitch-pi/send 00111 3 1'
COMMAND_OFF = 'sudo /home/pi/rcswitch-pi/send 00111 3 0'
def __init__(self, say, toggle):
self.say = say
self.toggle = toggle
def run(self, voice_command):
try:
if (self.toggle == 'ON'):
self.say(_('Turning switch on.'))
for i in range(10):
subprocess.call(SwitchControl.COMMAND_ON, shell=True)
elif (self.toggle =='OFF'):
self.say(_('Turning switch off.'))
for i in range(10):
subprocess.call(SwitchControl.COMMAND_OFF, shell=True)
except (ValueError, subprocess.CalledProcessError):
logging.exception("Error using codesend to toggle rc-socket.") self.say("Sorry I didn't identify that command")
# =========================================
# Makers! Add your own voice commands here.
# =========================================
actor.add_keyword(_('pi power off'), PowerCommand(say, 'shutdown'))
actor.add_keyword(_('pi reboot'), PowerCommand(say, 'reboot'))
actor.add_keyword(_('switch on'), SwitchControl(say, 'ON'))
actor.add_keyword(_('switch off'), SwitchControl(say, 'OFF'))
return actor