Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. [gelöst] ioBroker Custom Skill / Javascript Problem

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] ioBroker Custom Skill / Javascript Problem

    This topic has been deleted. Only users with topic management privileges can see it.
    • RoE19xx
      RoE19xx last edited by RoE19xx

      Hallo,

      Laut Github Beschreibung kann man ja auf die Fragen im ioBroker Custom Skill mit dem text2command Adapter reagieren, oder auch mit Javascript (Beispiel ist auch in Github zu finden).

      Ich habe hierfür nun ein wenig mit Javascript experimentiert, da ich mir auf Dauer hier mehr Flexibilität und ggf. etwas weniger Pflegeaufwand als bei text2command verspreche.

      Ich verwende den iot Adapter, und habe dort "Benutze text2command Instanz" deaktiviert.

      Habe dann das Beispiel Script für einen kleinen Test etwas angepasst, das schaut dann so aus:

      // important, that ack=true
      on({id: 'iot.0.smart.lastCommand', ack: true, change: 'any'}, obj => {
          // you have 200ms to prepare the answer and to write it into iot.X.smart.lastResponse
          log("### Last Command: " +obj.state.val);
          if(obj.state.val.match(/büro/) && obj.state.val.match(/luftfeuchtigkeit/))
          {
              var humVal = getState("hm-rpc.0.MEQxxxxxxx.1.HUMIDITY").val;
              setState("iot.0.smart.lastResponse", "Die Luftfeuchtigkeit im Büro liegt aktuell bei " +humVal+ " Prozent"); // important, that ack=false (default)
              //setState('iot.0.smart.lastResponse', 'Received phrase is: ' + obj.state.val); // important, that ack=false (default)
          }
      });
      
      

      Dann teste ich mit dem Satz "Alexa, Frag ioBroker nach der Luftfeuchtigkeit im Büro".

      Bekomme auch sofort die Antwort "Die Luftfeuchtigkeit im Büro liegt aktuell bei <wert>Prozent".

      Theoretisch alles wunderbar.

      Allerdings wartet Alexa nach der Antwort auf eine weitere Eingabe. D.h. sie bleibt aktiv und hört weiter zu. Wenn ich noch etwas sage, dann wird das auch als Eingabe vom ioBroker Skill verarbeitet und steht in iot.0.smart.lastCommand zur Verfügung.

      Wenn ich nichts sage sprich nicht weiter reagiere, dann wartet sie ein paar Sekunden. Dann kommt der Quittierungston gefolgt von der Meldung "Ich habe im Moment Schwierigkeiten auf Deinen Custom ioBroker Skill zuzugreifen".

      Der Skill ist aber korrekt verbunden bzw. verknüpft (wurde auch schon getrennt und wieder verbunden).

      Gibt es da noch einen Fehler im ioBroker Custom Skill in Kombination mit Javascript?

      Hier noch die Versionen der Adapter die meiner Meinung nach hier relevant sein könnten:

      JS Script Engine >>> 4.0.11

      IoT Assitants >>> 0.3.1

      Ich verwende zwei JS Sript Engine Instanzen. Instanz 0 für Tests und Instanz 1 produktiv.

      Getestet habe ich das Ganze bei mir in der javascript.0 Instanz.

      Könnt ihr das auch reproduzieren oder habe ich hier irgendwo etwas übersehen?

      Bin für jeden Tipp dankbar!

      Gruß

      Roland</wert>

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Das kann sehr gut sein. Welche Version des iot Adapters nutzt du? Bitte die mal ein issue anlegen mit link hierher.

        Gesendet vom Handy …

        1 Reply Last reply Reply Quote 0
        • RoE19xx
          RoE19xx last edited by

          Hallo Ingo,

          Wie oben geschrieben.

          JS Script Engine >>> 4.0.11

          IoT Adapter >>> 0.3.1

          Werde, wie von Dir vorgeschlagen, beim IoT Adapter mal ein Github Issue anlegen.

          Gruß

          Roland

          1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 last edited by

            Ja, der Fakt das die Session offen bleibt im Default war so.

            Bitte mal 0.4.0 vom Github testen. Dort bleibt die Session jetzt nur offen wenn vorher ein "öffne ioBroker" gesagt wurde, sonst geht die Session zu. Es sei denn man nutzt die neuen Möglichkeiten um es zu Kontrollieren :-))

            Siehe https://github.com/ioBroker/ioBroker.iot#custom-skill

            1 Reply Last reply Reply Quote 0
            • RoE19xx
              RoE19xx last edited by

              So, habe mal 0.4.0 vom IoT Adapter installiert.

              Spannend was sich da nun alles getan hat. Das ergibt nun ganz neue Möglichkeiten :mrgreen:

              Auf jeden Fall wurde das Problem behoben!

              Die neuen Möglichkeiten muss ich mir nun erst genauer anschauen.

              Vielen Dank für alles!

              Eine Frage noch, weil ich darüber gestolpert bin.

              Es gibt einen HelperState der im Github wie folgt beschrieben ist:

              smart.lastRoom: Room name (if exists) for which last command was executed.

              Der wird bei mir nicht befüllt. Woher kommt dieser Wert, wenn er denn befüllt wird bzw. worauf bezieht sich das "if exist".

              Gruß

              Roland

              1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 last edited by

                @RoE19xx:

                Es gibt einen HelperState der im Github wie folgt beschrieben ist:

                smart.lastRoom: Room name (if exists) for which last command was executed.

                Der wird bei mir nicht befüllt. Woher kommt dieser Wert, wenn er denn befüllt wird bzw. worauf bezieht sich das "if exist". `

                Also wenn Du bei den Smart-Device einstellungen direkt im Objekt noch room bzw func setzt dann wird das gefüllt. Es wird wohl aber scheinbar nicht automatisch vom Objekt übernommen wie es mir scheint.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                750
                Online

                32.0k
                Users

                80.4k
                Topics

                1.3m
                Posts

                alexa skill
                2
                6
                568
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo