snipsco / snipsmanager

The Snips Assistant Manager
MIT License
16 stars 16 forks source link

Trying to use playMusic intent results in error #36

Open tschmidty69 opened 6 years ago

tschmidty69 commented 6 years ago

2018-02-03 21:29:20 [INFO] New message on topic hermes/intent/TSchmidty:playMusic Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 754, in run self.target(*self.args, **self.__kwargs) File "/usr/local/lib/python2.7/dist-packages/snipsmanagercore-0.1.7.0.0-py2.7.egg/snipsmanagercore/server.py", line 110, in start_blocking self.client.loop() File "/usr/local/lib/python2.7/dist-packages/paho_mqtt-1.3.0-py2.7.egg/paho/mqtt/client.py", line 995, in loop rc = self.loop_read(max_packets) File "/usr/local/lib/python2.7/dist-packages/paho_mqtt-1.3.0-py2.7.egg/paho/mqtt/client.py", line 1273, in loop_read rc = self._packet_read() File "/usr/local/lib/python2.7/dist-packages/paho_mqtt-1.3.0-py2.7.egg/paho/mqtt/client.py", line 1838, in _packet_read rc = self._packet_handle() File "/usr/local/lib/python2.7/dist-packages/paho_mqtt-1.3.0-py2.7.egg/paho/mqtt/client.py", line 2285, in _packet_handle return self._handle_publish() File "/usr/local/lib/python2.7/dist-packages/paho_mqtt-1.3.0-py2.7.egg/paho/mqtt/client.py", line 2456, in _handle_publish self._handle_on_message(message) File "/usr/local/lib/python2.7/dist-packages/paho_mqtt-1.3.0-py2.7.egg/paho/mqtt/client.py", line 2603, in _handle_on_message self.on_message(self, self._userdata, message) File "/usr/local/lib/python2.7/dist-packages/snipsmanagercore-0.1.7.0.0-py2.7.egg/snipsmanagercore/server.py", line 165, in on_message intent = IntentParser.parse(payload, self.registry.intent_classes) File "/usr/local/lib/python2.7/dist-packages/snipsmanagercore-0.1.7.0.0-py2.7.egg/snipsmanagercore/intent_parser.py", line 26, in parse intent = cls.parse(payload) File "/home/pi/.snips/intents/intents/play_music_intent.py", line 31, in parse IntentParser.get_custom_data(payload), TypeError: this constructor takes no arguments

tschmidty69 commented 6 years ago

Note this leaves snips manager in an unusable state and it has to be restarted. This happens with any intent that doesn't have a slot at all. Other intents with slots are working.

anthonyray commented 6 years ago

Thanks for the issue !

Please, can you output the content of the /home/pi/.snips/intents/intents/play_music_intent.py file here :) ?

tschmidty69 commented 6 years ago

# -*-: coding utf-8 -*-
""" Auto-generated intent class. """

# *****************************************************************************
# *****************************************************************************
# *****************************************************************************
#
# WARNING: THIS IS AN AUTO-GENERATED FILE
# DO NOT ATTEMPT TO EDIT IT, AS CHANGES WILL BE OVERWRITTEN.
#
# *****************************************************************************
# *****************************************************************************
# *****************************************************************************

# pylint: disable=line-too-long

from snipsmanagercore.intent_parser import IntentParser

class PlayMusicIntent:

    intentName = "playMusic"

    @staticmethod
    def parse(payload):
        intentName = IntentParser.get_intent_name(payload)
        if intentName != PlayMusicIntent.intentName:
            return None
        return PlayMusicIntent(
            IntentParser.get_session_id(payload),
            IntentParser.get_site_id(payload),
            IntentParser.get_custom_data(payload),
            )```
anthonyray commented 6 years ago

It seems like there is no __init__ method ... Which causes your problem ...

In your virtualenv // python installation, can you run a pip install snipsmanagercore --upgrade and make sure that version 0.1.7.0.0 is installed ?

tschmidty69 commented 6 years ago
pi@raspberrypi:~ $ sudo pip install snipsmanagercore --upgrade
Requirement already up-to-date: snipsmanagercore in /usr/local/lib/python2.7/dist-packages/snipsmanagercore-0.1.7.0.0-py2.7.egg

Going to reinstall as apt, and give it a go, but it seems like the apt version is behind. Should we instead be pulling from pip or even github directly?

76MPaul commented 6 years ago

Hi, I'm in front of the same issue. Did you managed to succeed resolving it ? I also try to update managercore but i'm already on the last version...

76MPaul

Edit : In complement, this issue lead to the loss of the default output playback. This force to reboot the computer in order to get it worked again.

anthonyray commented 6 years ago

@tschmidty69 The apt version is lagging behind. Try to pull it from pip.

anthonyray commented 6 years ago

@76MPaul Can you try to launch snipsmanager as a foreground process (not in a daemon) and give us the backtrace ?

76MPaul commented 6 years ago

I was launching it as a foreground process and get exactly the same error as the first post. Then I discover that my used device from aplay -l move from subdevice 1/1 to subdevice 0/1 and I didn't get any sound from snips. But all my other soft worked...