Zuerst ein LOB an den Entwickler von 10_SNIPS.pm!!! In FHEM funktioniert das sehr gut. Nun habe ich zur FHEM-App weitere Apps (Rechner, Uhrzeit, TV-Programm) meinem Assistant hinzugefügt und anschließend auf meinem RPI 3+ installiert. Der RPI greift auf den Mosquitto des FHEM-Servers zu. Nun das Problem: Die Sprachbefehle an FHEM werden ausgeführt und z.B. die Temperaturen angesagt. Wenn ich aber der Matheapp die Frage stelle: "Wieviel ist 1 mal 1?" kommt keine Sprachausgabe. Muss ich noch etwas bei Snips einstellen?
Gruß Jens
[17:24:47] Watching on 192.168.100.2:1883 (MQTT)
[17:24:51] [Hotword] detected on site 192.168.100.2, for model hey_snips
[17:24:51] [Asr] was asked to stop listening on site 192.168.100.2
[17:24:51] [Hotword] was asked to toggle itself 'off' on site 192.168.100.2
[17:24:51] [Dialogue] session with id '908d2fad-9fa3-44ce-ae1d-64609e609b98' was started on site 192.168.100.2
[17:24:51] [AudioServer] was asked to play a wav of 41.1 kB with id '9ba8107b-0c5c-4b95-8fe4-1fec06be798f' on site 192.168.100.2
[17:24:51] [AudioServer] finished playing wav with id '9ba8107b-0c5c-4b95-8fe4-1fec06be798f'
[17:24:51] [Asr] was asked to listen on site 192.168.100.2
[17:24:54] [Asr] captured text "wieviel ist ein mal eins" in 2.0s
[17:24:54] [Asr] was asked to stop listening on site 192.168.100.2
[17:24:54] [AudioServer] was asked to play a wav of 93.1 kB with id 'e5046920-e488-4aae-a58e-351b9bec5b2e' on site 192.168.100.2
[17:24:55] [AudioServer] finished playing wav with id 'e5046920-e488-4aae-a58e-351b9bec5b2e'
[17:24:55] [Nlu] was asked to parse input "wieviel ist ein mal eins"
[17:24:55] [Nlu] detected intent domi:getMultiplikation with probability 0.340 for input "wieviel ist ein mal eins"
Slots ->
firstTerm -> 1 (confidence: 0.630)
secondTerm -> 1 (confidence: 0.713)
[17:24:55] [Dialogue] New intent detected domi:getMultiplikation with probability 0.340
Slots ->
firstTerm -> 1 (confidence: 0.630)
secondTerm -> 1 (confidence: 0.713)
[17:24:56] [Nlu] was asked to parse input "wieviel ist ein mal eins"
[17:24:56] [Nlu] detected intent domi:getMultiplikation with probability 0.340 for input "wieviel ist ein mal eins"
Slots ->
firstTerm -> 1
secondTerm -> 1
[17:25:01] [Dialogue] session with id '908d2fad-9fa3-44ce-ae1d-64609e609b98' was ended on site 192.168.100.2. The session was ended because one of the component didn't respond in a timely manner
[17:25:01] [Asr] was asked to stop listening on site 192.168.100.2
[17:25:01] [Hotword] was asked to toggle itself 'on' on site 192.168.100.2
Jan 05 16:57:33 snips snips-hotword[456]: INFO:snips_hotword_lib::audio : Audio thread for site 192.168.100.2 started.
Jan 05 17:08:00 snips snips-hotword[456]: INFO:snips_hotword_hermes : Hotword detected: site_id:192.168.100.2 model:hey_snips (159ms ago)
Jan 05 17:08:00 snips snips-dialogue[463]: INFO:snips_dialogue_lib::coordinator::coordinator: Site [192.168.100.2]: reset site -> turn off ASR and turn off Hotword
Jan 05 17:08:00 snips snips-dialogue[463]: INFO:snips_dialogue_lib::coordinator::coordinator: Session [063a04e7-0718-4126-8335-b9f2ba557a37]: The session has been created because the site "192.168.100.2" is free
Jan 05 17:08:00 snips snips-hotword[456]: INFO:snips_hotword_lib::audio : Audio thread for site 192.168.100.2 stopped.
Jan 05 17:08:00 snips snips-audio-server[824]: INFO:snips_audio_portaudio : Playing "e2f3efdb-1aa5-4fdf-8693-9191d4cb669f" using output "default", wav spec: WavSpec { channels: 2, sample_rate: 22050, bits_per_sample: 16, sample_format: Int }
Jan 05 17:08:01 snips snips-audio-server[824]: INFO:snips_audio_portaudio : Playing of "e2f3efdb-1aa5-4fdf-8693-9191d4cb669f" finished
Jan 05 17:08:01 snips snips-tts[457]: WARN:snips_tts_hermes : Received a "play finished" message from audio server with an unknown id 'e2f3efdb-1aa5-4fdf-8693-9191d4cb669f'. It could be normal if you have more than one audio server.
Jan 05 17:08:01 snips snips-asr[465]: INFO:snips_asr_hermes : Listening
Jan 05 17:08:01 snips snips-asr[465]: INFO:snips_asr_lib::asr : T0 entered AsrRunner::run
Jan 05 17:08:01 snips snips-asr[465]: INFO:snips_asr_lib::asr : T0+0.000 capture started
Jan 05 17:08:05 snips snips-asr[465]: INFO:snips_asr_lib::asr : T0+4.072 endpoint detected (rule:4) frame:247 samples:63232 signal_time:3.952 rtf:0.517
Jan 05 17:08:05 snips snips-asr[465]: INFO:snips_asr_lib::asr : Source thread stop on push: "Disconnected(..)"
Jan 05 17:08:05 snips snips-asr[465]: INFO:snips_asr_lib::asr : T0+4.076 capture ended
Jan 05 17:08:05 snips snips-asr[465]: INFO:snips_asr_lib::asr : T0+4.080 decoder finalized
Jan 05 17:08:05 snips snips-asr[465]: INFO:snips_asr_lib::asr : T0+4.090 lookup and post-processing done
Jan 05 17:08:05 snips snips-asr[465]: INFO:snips_asr_lib::asr : decoded: [Recognition { decoded_string: "wieviel ist ein mal eins", likelihood: 0.9353425, tokens: Some([Token { value: "wieviel", confidence: 0.90530956, time: (0.023889886, 1.2855219), range: 0..7 }, Token { value: "ist", confidence: 0.9236988, time: (1.2951753, 1.62), range: 8..11 }, Token { value: "ein", confidence: 0.9491319, time: (1.62, 2.28), range: 12..15 }, Token { value: "mal", confidence: 1.0, time: (2.28, 2.85), range: 16..19 }, Token { value: "eins", confidence: 0.90198493, time: (2.85, 3.78), range: 20..24 }]) }]
Jan 05 17:08:05 snips snips-asr[465]: INFO:snips_asr_hermes : Cleanup
Jan 05 17:08:05 snips snips-asr[465]: INFO:snips_asr_hermes : Preparing decoder
Jan 05 17:08:05 snips snips-audio-server[824]: INFO:snips_audio_portaudio : Playing "52a9cf4c-63d0-4f8c-9927-5c51a38186f3" using output "default", wav spec: WavSpec { channels: 2, sample_rate: 22050, bits_per_sample: 16, sample_format: Int }
Jan 05 17:08:06 snips snips-asr[465]: INFO:snips_asr_hermes : Idle
Jan 05 17:08:06 snips snips-audio-server[824]: INFO:snips_audio_portaudio : Playing of "52a9cf4c-63d0-4f8c-9927-5c51a38186f3" finished
Jan 05 17:08:06 snips snips-tts[457]: WARN:snips_tts_hermes : Received a "play finished" message from audio server with an unknown id '52a9cf4c-63d0-4f8c-9927-5c51a38186f3'. It could be normal if you have more than one audio server.
Jan 05 17:08:07 snips snips-dialogue[463]: WARN:snips_dialogue_lib::coordinator::coordinator: No Session found for this response: NluIntentParsed(IntentPayload { input: "wieviel ist ein mal eins", asr_tokens: None, intent: IntentClassifierResult { intent_name: "domi:getMultiplikation", probability: 0.33950675 }, slots: Some([NluSlot { confidence: None, nlu_slot: Slot { raw_value: "ein", value: Number(NumberValue { value: 1.0 }), range: Some(12..15), entity: "snips/number", slot_name: "firstTerm" }, asr_tokens: None }, NluSlot { confidence: None, nlu_slot: Slot { raw_value: "eins", value: Number(NumberValue { value: 1.0 }), range: Some(20..24), entity: "snips/number", slot_name: "secondTerm" }, asr_tokens: None }]) })
Jan 05 17:08:12 snips snips-dialogue[463]: INFO:snips_dialogue_lib::coordinator::coordinator: Session [063a04e7-0718-4126-8335-b9f2ba557a37]: closing session which was active: Timeout
Jan 05 17:08:12 snips snips-dialogue[463]: INFO:snips_dialogue_lib::coordinator::coordinator: Site [192.168.100.2]: reset site -> turn off ASR and turn on Hotword
Jan 05 17:08:12 snips snips-hotword[456]: INFO:snips_hotword_lib::audio : Audio thread for site 192.168.100.2 started.
Problem gelöst:
Auf dem RPI habe ich ebenfalls MQTT installiert und eine Bridge in /etc/mosquitto/mosquitto.conf zum FHEM-Mosquitto-Server hinzugefügt.
Connection FHEM-Server
address 192.168.100.2:1883
topic # out 0
topic # in 0
Jetzt können die Apps über den lokalen MQTT-Server auf den entfernten MQTT-Server zugreifen.
Gruß Jens
p.s.
SNIPS.ai ist als gute Offline-Spracherkennung zu empfehlen!