NEWS
Snips / MQTT - Session beenden
-
Hallo zusammen,
ich habe seit gestern Snips.ai laufen und schalte damit mittlerweile schon ein paar meiner Geräte.
Allerdings habe ich noch ein Problem.
Nachdem ich das hotword bzw. den Befehl spreche, gehen die Nachricht an mein Skript.
Nachdem ich dort mit dem verändern der states fertig bin, beende ich die Session... zumindest versuche ich das aber das funktioniert scheinbar nicht.
Quasi den folgenden Code-Schnippsel habe ich aus irgendeinem Thread in diesem Forum:function endSession(sessionId, text) { var payload = { "sessionId": sessionId }; if (text) { payload.text = text; } console.log("try to close session: " + sessionId); sendTo('mqtt.0', 'sendMessage2Client', { topic: 'hermes/dialogueManager/endSession', message: JSON.stringify(payload) }); }
Es kommt soweit zu keinem Fehler, was bedeutet dass dieser Code grundsätzlich funktioniert. Den Pfad "mqtt.0.hermes/dialogueManager/endSession" gibts es auch.
Mit "sam watch" kann ich allerdings beobachten dass trotzdem die Nachricht noch in einen Timeout (5 Sekunden später) läuft:[Dialogue] session with id 'bde1d436-216a-40fa-a940-46a5fbd96b72' was ended on site default. The session was ended because one of the component didn't respond in a timely manner
Wie es also aussieht geht die Nachricht offensichtlich zur falschen Stelle...
Kann mir jemand sagen was hier falsch ist?Das ist etwas ungünstig, dass man nach jedem Befehl erstmal ~6 Sekunden warten muss um den nächsten absenden zu können, weil snips noch auf eine Reaktion vom Skript wartet
Vielen Dank!