Я настроил Google Assistant с 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