• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

Kalliope assistant + MM

Scheduled Pinned Locked Moved Fun & Games
58 Posts 10 Posters 34.5k Views 12 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    NoNameRo @sispheor
    last edited by Mar 17, 2018, 9:30 AM

    @sispheor SpeechRecognition was successfully installed, but sudo python setup.py has another error

    pi@MagicMirror:~/kalliope $ sudo python setup.py
    usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
       or: setup.py --help [cmd1 cmd2 ...]
       or: setup.py --help-commands
       or: setup.py cmd --help
    
    error: no commands supplied
    
    S 1 Reply Last reply Mar 17, 2018, 9:30 AM Reply Quote 0
    • S Offline
      sispheor @E3V3A
      last edited by Mar 17, 2018, 9:30 AM

      @E3V3A
      Actually, we consider here that the user start the installation from a fresh install raspbian.
      So he is using Python 2 and pip2.

      S 1 Reply Last reply Mar 17, 2018, 9:32 AM Reply Quote 1
      • S Offline
        sispheor @NoNameRo
        last edited by Mar 17, 2018, 9:30 AM

        @NoNameRo sorry, forgot one word

        sudo python setup.py install
        
        1 Reply Last reply Reply Quote 0
        • S Offline
          sispheor @sispheor
          last edited by sispheor Mar 17, 2018, 9:32 AM Mar 17, 2018, 9:32 AM

          @E3V3A but yes you are right, a good script should be idempotent.
          I’ll enhance it.

          1 Reply Last reply Reply Quote 0
          • E Offline
            E3V3A
            last edited by E3V3A Mar 17, 2018, 9:38 AM Mar 17, 2018, 9:36 AM

            Does MMM-kalliope allow or have any Google Assistant or Alexa functionality?
            If, yes, how to install it. I didn’t see anything in the neuron list…

            Although Kalliope look very nice and surely better documented now, it will be hard to sell without these features. People wanna talk to AI, not only ask to turn your lights on or off, which you can do by your self. Perhaps a phone plugin so you can call it up and talk?

            In addition it is a huge obstacle that you have to make plugins (or neurons or synapses or whatever you call it) for just about everything you want to talk to Kalliope about. This learning should be automated by ML, and integrated to the productivity tools you already have, including future Alexa and GA compatibility.

            "Everything I do (here) is for free – altruism is the way!"
            MMM-FlightsAbove, MMM-Tabulator, MMM-Assistant (co-maintainer)

            1 Reply Last reply Reply Quote 0
            • S Offline
              sispheor
              last edited by Mar 17, 2018, 9:42 AM

              Kalliope is not an IA but a framework to make an assistant. Kalliope is like Ansible actually by design.
              From neuron you can cover almost all features provided by current assistant like Google or Alexa.

              There is a Android app to control kalliope from your phone and a “Tasker” neuron to control your phone from kalliope.

              Users have to make their brain in the language they want by using neuron. We provide “starter kit” to give a basic config and new user to understand the concept.

              I Understand that is not what you are looking for. You should give a try to another app.

              E 1 Reply Last reply Mar 17, 2018, 9:57 AM Reply Quote 1
              • E Offline
                E3V3A @sispheor
                last edited by Mar 17, 2018, 9:57 AM

                @sispheor Cool! Thanks a lot for clarifying.

                "Everything I do (here) is for free – altruism is the way!"
                MMM-FlightsAbove, MMM-Tabulator, MMM-Assistant (co-maintainer)

                1 Reply Last reply Reply Quote 0
                • M Offline
                  marcnlx
                  last edited by marcnlx Mar 17, 2018, 1:04 PM Mar 17, 2018, 11:34 AM

                  Hi,

                  I really love the Kalliope Virtual Assistant. I used the Manual Install (Method #2) option, since the one-liner command failed on my RPi.

                  I managed to install Kalliope (“Kalliope version”: “0.5.1b”), but I have some issues having all the messages show in MMM-Kalliope module (in upper_third) on the mirror.

                  I have added this to my ~/MagicMirror/config/config.js file:

                  {
                      module: "MMM-kalliope",
                      position: "upper_third",
                                          config: {
                                                  max: "5",
                                                  keep_seconds: "8",
                                                  title: "Kalliope",
                                                  notification: "KALLIOPE",
                                                  payload: "my message"
                                                  }
                  
                  }
                  

                  I have added this to my ~/kalliope_starter_en/brain.yml file:

                  - name: "mm-say"
                    signals: []
                    neurons:
                      - magic_mirror:
                          mm_url: "http://127.0.0.1:8080/kalliope"
                          notification: "KALLIOPE"
                          payload: "{{ kalliope_memory['kalliope_last_tts_message'] }}"
                  
                  - name: "mm-alert"
                    signals:
                      - order: "send an alert to magic mirror"
                    neurons:
                      - magic_mirror:
                          mm_url: "http://127.0.0.1:8080/kalliope"
                          notification: "SHOW_ALERT"
                          payload:
                            title: "my alert title"
                            message: "the message"
                            timer: 5000
                  

                  And I have added this to the hooks in my ~/kalliope_starter_en/settings.yml file:

                  #  on_start_speaking:
                    on_start_speaking: "mm-say"
                  

                  I’m not sure what I am missing here…would anybody be able to help me out?

                  I also sometimes have an issue after Kalliope gets triggered by the WakeUp word related to the microphone/audio (but this might also be caused by the mic on the usb webcam I am using…):

                  what can i do for you?
                  Threshold set to: 4000
                  Say something!
                  Google Speech Recognition could not understand audio
                  I don't recognize that order
                  Waiting for trigger detection
                  yes sir?
                  Threshold set to: 4000
                  Say something!
                  Google Speech Recognition could not understand audio
                  I don't know this order
                  Exception in thread Thread-2:
                  Traceback (most recent call last):
                    File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
                      self.run()
                    File "/usr/local/lib/python2.7/dist-packages/kalliope-0.5.1b0-py2.7.egg/kalliope/signals/order/order.py", line 84, in run
                      self.start_trigger()
                    File "/usr/local/lib/python2.7/dist-packages/transitions-0.6.4-py2.7.egg/transitions/core.py", line 382, in trigger
                      return self.machine._process(func)
                    File "/usr/local/lib/python2.7/dist-packages/transitions-0.6.4-py2.7.egg/transitions/core.py", line 1020, in _process
                      self._transition_queue[0]()
                    File "/usr/local/lib/python2.7/dist-packages/transitions-0.6.4-py2.7.egg/transitions/core.py", line 398, in _trigger
                      return self._process(event_data)
                    File "/usr/local/lib/python2.7/dist-packages/transitions-0.6.4-py2.7.egg/transitions/core.py", line 408, in _process
                      if trans.execute(event_data):
                    File "/usr/local/lib/python2.7/dist-packages/transitions-0.6.4-py2.7.egg/transitions/core.py", line 262, in execute
                      self._change_state(event_data)
                    File "/usr/local/lib/python2.7/dist-packages/transitions-0.6.4-py2.7.egg/transitions/core.py", line 273, in _change_state
                      event_data.machine.get_state(self.dest).enter(event_data)
                    File "/usr/local/lib/python2.7/dist-packages/transitions-0.6.4-py2.7.egg/transitions/core.py", line 119, in enter
                      event_data.machine.callback(handle, event_data)
                    File "/usr/local/lib/python2.7/dist-packages/transitions-0.6.4-py2.7.egg/transitions/core.py", line 990, in callback
                      func(*event_data.args, **event_data.kwargs)
                    File "/usr/local/lib/python2.7/dist-packages/kalliope-0.5.1b0-py2.7.egg/kalliope/signals/order/order.py", line 92, in start_trigger_process
                      self.trigger_instance = TriggerLauncher.get_trigger(settings=self.settings, callback=self.trigger_callback)
                    File "/usr/local/lib/python2.7/dist-packages/kalliope-0.5.1b0-py2.7.egg/kalliope/core/TriggerLauncher.py", line 32, in get_trigger
                      parameters=trigger.parameters)
                    File "/usr/local/lib/python2.7/dist-packages/kalliope-0.5.1b0-py2.7.egg/kalliope/core/Utils/Utils.py", line 140, in get_dynamic_class_instantiation
                      return klass(**parameters)
                    File "/usr/local/lib/python2.7/dist-packages/kalliope-0.5.1b0-py2.7.egg/kalliope/trigger/snowboy/snowboy.py", line 51, in __init__
                      sleep_time=0.03)
                    File "/usr/local/lib/python2.7/dist-packages/kalliope-0.5.1b0-py2.7.egg/kalliope/trigger/snowboy/snowboydecoder.py", line 98, in __init__
                      stream_callback=audio_callback)
                    File "build/bdist.linux-armv7l/egg/pyaudio.py", line 750, in open
                      stream = Stream(self, *args, **kwargs)
                    File "build/bdist.linux-armv7l/egg/pyaudio.py", line 441, in __init__
                      self._stream = pa.open(**arguments)
                  IOError: [Errno -9985] Device unavailable
                  

                  When starting kalliope with the –debug option, I see lines like this in the debug log:

                  2018-03-17 13:55:30 :: kalliope-0.5.1b :: Magic_mirror call Magic Mirror MMM-kalliope-API: http://127.0.0.1:8080/kalliope
                  2018-03-17 13:55:31 :: kalliope-0.5.1b :: Magic_mirrorcannot get a valid json from returned content
                  
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: [NeuronLauncher] replacing brackets from {'notification': 'KALLIOPE', 'mm_url': 'http://127.0.0.1:8080/kalliope', 'is_api_call': True, 'payload': "{{kalliope_memory['kalliope_last_tts_message']}}", 'no_voice': False}, using {}
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: [NeuronLauncher] replacing brackets from KALLIOPE, using {'kalliope_memory': {'kalliope_last_tts_message': 'what can i do for you?'}}
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: [NeuronLauncher] replacing brackets from http://127.0.0.1:8080/kalliope, using {'kalliope_memory': {'kalliope_last_tts_message': 'what can i do for you?'}}
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: [NeuronLauncher] replacing brackets from True, using {'kalliope_memory': {'kalliope_last_tts_message': 'what can i do for you?'}}
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: [NeuronLauncher] replacing brackets from {{kalliope_memory['kalliope_last_tts_message']}}, using {'kalliope_memory': {'kalliope_last_tts_message': 'what can i do for you?'}}
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: [NeuronLauncher] replacing brackets from False, using {'kalliope_memory': {'kalliope_last_tts_message': 'what can i do for you?'}, 'name': 'sir'}
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: Run neuron: "{'name': 'magic_mirror', 'parameters': {'notification': 'KALLIOPE', 'mm_url': 'http://127.0.0.1:8080/kalliope', 'is_api_call': True, 'payload': 'what can i do for you?', 'no_voice': False}}"
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: [Utils]-> get_dynamic_class_instantiation : package path : kalliope.neurons.magic_mirror.magic_mirror
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: [Utils]-> get_dynamic_class_instantiation : loading path : resources/neurons/magic_mirror/magic_mirror.py, as package Magic_mirror
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: [NeuronModule] TTS args: {'name': 'pico2wave', 'parameters': {'cache': True, 'language': 'en-US'}}
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: Magic_mirror call Magic Mirror MMM-kalliope-API: http://127.0.0.1:8080/kalliope
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: Magic_mirrorcannot get a valid json from returned content
                  2018-03-17 13:55:09 :: kalliope-0.5.1b :: [NeuronModule] Say() called with message: {'content': '<!DOCTYPE html>\n<html lang="en">\n<head>\n<meta charset="utf-8">\n<title>Error</title>\n</head>\n<body>\n<pre>Cannot POST /kalliope</pre>\n</body>\n</html>\n', 'status_code': 404, 'response_header': {'Content-Length': '148', 'X-XSS-Protection': '1; mode=block', 'X-Download-Options': 'noopen', 'X-Content-Type-Options': 'nosniff', 'Content-Type': 'text/html; charset=utf-8', 'Strict-Transport-Security': 'max-age=15552000; includeSubDomains', 'Connection': 'keep-alive', 'Content-Security-Policy': "default-src 'self'", 'Date': 'Sat, 17 Mar 2018 12:55:09 GMT', 'X-Frame-Options': 'SAMEORIGIN', 'X-DNS-Prefetch-Control': 'off'}}
                  

                  Accessing the URL http://192.168.1.16:8080/kalliope, gives me this:

                  Cannot GET /kalliope
                  

                  I also see the following error using the CURL example (removed the “<” from the beginning on the output of each line):

                  pi@mirror:~ $ curl -H "Content-Type: application/json" -X POST -d '{"notification":"KALLIOPE", "payload": "my message"}' http://127.0.0.1:8080/kalliope      
                  !DOCTYPE html>
                  html lang="en">
                  head>
                  meta charset="utf-8">
                  title>Error</title>
                  /head>
                  body>
                  pre>Cannot POST /kalliope</pre>
                  /body>
                  /html>
                  pi@mirror:~ $
                  
                  S 2 Replies Last reply Mar 17, 2018, 1:31 PM Reply Quote 0
                  • S Offline
                    sispheor @marcnlx
                    last edited by Mar 17, 2018, 1:31 PM

                    @marcnlx why are you trying to reach the URL from your browser? It’s an API. It should be accessed from a script only.

                    M 1 Reply Last reply Mar 17, 2018, 1:36 PM Reply Quote 0
                    • M Offline
                      marcnlx @sispheor
                      last edited by Mar 17, 2018, 1:36 PM

                      @sispheor said in Kalliope assistant + MM:

                      @marcnlx why are you trying to reach the URL from your browser? It’s an API. It should be accessed from a script only.

                      The CURL example gave me this output on the CLI. I was only using my browser to make sure I was able to reach the API.

                      Any idea what configuration mistake I could have made?

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 4
                      • 5
                      • 6
                      • 2 / 6
                      2 / 6
                      • First post
                        19/58
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy