Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Snips / MQTT - Session beenden

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    309

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.4k

Snips / MQTT - Session beenden

Geplant Angeheftet Gesperrt Verschoben JavaScript
1 Beiträge 1 Kommentatoren 169 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    jiglitsch
    schrieb am zuletzt editiert von jiglitsch
    #1

    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 :thinking_face:

    Vielen Dank!

    1 Antwort Letzte Antwort
    0
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    Support us

    ioBroker
    Community Adapters
    Donate

    606

    Online

    32.5k

    Benutzer

    81.7k

    Themen

    1.3m

    Beiträge
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Anmelden

    • Du hast noch kein Konto? Registrieren

    • Anmelden oder registrieren, um zu suchen
    • Erster Beitrag
      Letzter Beitrag
    0
    • Home
    • Aktuell
    • Tags
    • Ungelesen 0
    • Kategorien
    • Unreplied
    • Beliebt
    • GitHub
    • Docu
    • Hilfe