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. SetState() nach createState() schreibt nichts?

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

SetState() nach createState() schreibt nichts?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
31 Beiträge 6 Kommentatoren 7.2k 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.
  • Z Offline
    Z Offline
    Zeitfraktur
    schrieb am zuletzt editiert von
    #1

    Moin! Ich arbeite mich gerade in ioBroker und auch das Scripting ein…

    Starte ich folgendes Script das erste Mal, wird der Testvar Datenpunkt zwar angelegt und mit dem String "leer" gefüllt, aber setState() beschreibt ihn nicht.

    Nachfolgende Scriptstarts beschreiben den Datenpunkt hingegen erfolgreich mit "voll":

    createState("Testvar", "leer");
    setState("Testvar", "voll");
    
    

    Muß man noch irgendwas nach createState aufrufen?

    Gruss

    Sascha

    1 Antwort Letzte Antwort
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      schrieb am zuletzt editiert von
      #2

      beide Kommandos werden asynchron ausgeführt.

      d.h. beim ersten Skriptstart ist der Datenpunkt noch nicht angelegt wenn die zweite Zeile versucht ihn schon zu schreiben.

      Du kannst das Skript so schreiben, dass die Datenpunkte angelegt werden und alle folgenden Kommandos verzögert

      Gesendet von iPhone mit Tapatalk

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Antwort Letzte Antwort
      0
      • Z Offline
        Z Offline
        Zeitfraktur
        schrieb am zuletzt editiert von
        #3

        @ruhr70:

        Du kannst das Skript so schreiben, dass die Datenpunkte angelegt werden und alle folgenden Kommandos verzögert `
        Wie lange sollte man denn verzögern?

        Btw, ruft man deshalb Funktionen im Script z.B. via 'setTimeout(meineFunktion, 500);' auf? Oder hat das noch andere Gründe?

        Thanks

        Sascha

        1 Antwort Letzte Antwort
        0
        • apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #4

          Du machst es so wie unter https://github.com/ioBroker/ioBroker.ja … reatestate im dritten beispiel. Also eine Callback-Funktion am createState die wird ausgeführt wenn der State angelegt ist (aber auch nur dann).

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          1 Antwort Letzte Antwort
          0
          • blauholstenB Offline
            blauholstenB Offline
            blauholsten
            Developer
            schrieb am zuletzt editiert von
            #5

            @apollon77:

            Du machst es so wie unter https://github.com/ioBroker/ioBroker.ja … reatestate im dritten beispiel. Also eine Callback-Funktion am createState die wird ausgeführt wenn der State angelegt ist (aber auch nur dann). `
            Die Frage ist warum sollte man sowas tun:?????

            createState("Testvar", "leer");
            setState("Testvar", "voll");
            

            Entwickler vom: - Viessman Adapter
            - Alarm Adapter

            1 Antwort Letzte Antwort
            0
            • ruhr70R Offline
              ruhr70R Offline
              ruhr70
              schrieb am zuletzt editiert von
              #6

              @blauholsten:

              Die Frage ist warum sollte man sowas tun:?????

              createState("Testvar", "leer");
              setState("Testvar", "voll");
              ```` `  
              

              wenn man sich an die Funktionen ran tastet um sie zu verstehen?

              oder es ein Problem gab, welches man einzugrenzen versucht?

              Forscherdrang?

              :-)

              Gesendet von iPhone mit Tapatalk

              Adapter: Fritzbox, Unify Circuit
              Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

              1 Antwort Letzte Antwort
              0
              • ruhr70R Offline
                ruhr70R Offline
                ruhr70
                schrieb am zuletzt editiert von
                #7

                @Zeitfraktur:

                @ruhr70:

                Du kannst das Skript so schreiben, dass die Datenpunkte angelegt werden und alle folgenden Kommandos verzögert `
                Wie lange sollte man denn verzögern?

                Btw, ruft man deshalb Funktionen im Script z.B. via 'setTimeout(meineFunktion, 500);' auf? Oder hat das noch andere Gründe? `

                Das kann diverse Gründe haben.

                Beim hue Skript mit den dynamischen Lichtwechsel steuere ich z.B. den Farbwechsel damit.

                In anderen Skripten lege ich erst alle Datenpunkte an und packe das eigentliche "Programm" in eine Funktion, die ich dann mit setTimeout() verzögert aufrufe.

                Gesendet von iPhone mit Tapatalk

                Adapter: Fritzbox, Unify Circuit
                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                1 Antwort Letzte Antwort
                0
                • ruhr70R Offline
                  ruhr70R Offline
                  ruhr70
                  schrieb am zuletzt editiert von
                  #8

                  @apollon77:

                  Du machst es so wie unter https://github.com/ioBroker/ioBroker.ja … reatestate im dritten beispiel. Also eine Callback-Funktion am createState die wird ausgeführt wenn der State angelegt ist (aber auch nur dann). `

                  Danke für den Hinweis!

                  Wie würdest Du es aufbauen, wenn Du in dem Skript mehrere Datenpunkte anlegen musst, z.B. fünf?

                  Adapter: Fritzbox, Unify Circuit
                  Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                  1 Antwort Letzte Antwort
                  0
                  • apollon77A Offline
                    apollon77A Offline
                    apollon77
                    schrieb am zuletzt editiert von
                    #9

                    Wenn die Anlage nicht voneinander abhängt schreibst DU die createState-Aufrufe alle auf die gleiche "Ebene" und nicht kaskadierend in die callback-Funktionen. Falls Du (aus welchem grund auch immer) sicherstellen musst das die Anlage der Datenpunkte nacheinander erfolgt oder irgendwelche Logik erst ausgeführt wird wenn alle Datenpunkte da sind, dann kannst Du die createState jeweils in die Callback des vorhergehenden machen.

                    Aber am Ende musst DU mal testen ob der callback auch ausgeführt wird wenn der State schon existiert :-) Das weiss ich gerade nicht.

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      Pman
                      schrieb am zuletzt editiert von
                      #10

                      Ich glaube es gab mal einen Bug, dass callback nicht ausgeführt wurde, wenn der State schon existiert. Bin aber der Meinung, dass das schon lange gefixt ist.

                      1 Antwort Letzte Antwort
                      0
                      • ruhr70R Offline
                        ruhr70R Offline
                        ruhr70
                        schrieb am zuletzt editiert von
                        #11

                        @apollon77:

                        Wenn die Anlage nicht voneinander abhängt schreibst DU die createState-Aufrufe alle auf die gleiche "Ebene" und nicht kaskadierend in die callback-Funktionen. Falls Du (aus welchem grund auch immer) sicherstellen musst das die Anlage der Datenpunkte nacheinander erfolgt oder irgendwelche Logik erst ausgeführt wird wenn alle Datenpunkte da sind, dann kannst Du die createState jeweils in die Callback des vorhergehenden machen.

                        Aber am Ende musst Du mal testen ob der callback auch ausgeführt wird wenn der State schon existiert :-) Das weiss ich gerade nicht. `

                        Ich muss da noch einmal nachhaken…

                        (will endlich mal tiefer in das Callback-Thema einsteigen).

                        Folgende Funktion, die einen Haufen Datenpunkte für diverse Geräte anlegt:

                        ! ```
                        `function dpAnlegen() {
                        var dfSt = defaultRadiostation;
                        var fc = forecreation; //forecreation;
                        var deviceType,essid,macAddress,swVersion,deviceTypeTxt,capabilities;
                        var echo;
                        // for (var echo in echos) {
                        for(var i = 0; i < alexaDeviceObj.devices.length; i++) {
                        var pfad = otherDevicePfad;
                        echo = alexaDeviceObj.devices[i].dpName;
                        if(alexaDeviceObj.devices[i].anlegen) {
                        pfad = devicePfad;
                        echos[echo] = {"deviceType":alexaDeviceObj.devices[i].deviceType,"deviceSerialNumber":alexaDeviceObj.devices[i].serialNumber};
                        createState(pfad + echo +".volume", 40, false, {name:"Volume (0-100)", type:"number", role:"control.value"});
                        createState(pfad + echo +".pause", false, fc, {name:"Pause", type:"boolean", role:"button"});
                        createState(pfad + echo +".play", false, fc, {name:"Play", type:"boolean", role:"button"});
                        createState(pfad + echo +".next", false, fc, {name:"Next (nächster Titel)", type:"boolean", role:"button"});
                        createState(pfad + echo +".previous", false, fc, {name:"Previous (vorheriger Titel)", type:"boolean", role:"button"});
                        createState(pfad + echo +".forward", false, fc, {name:"Forward (Hörbuch 30 Sekunden vor)", type:"boolean", role:"button"});
                        createState(pfad + echo +".rewind", false, fc, {name:"Rewind (Hörbuch 30 Sekunden zurück)",type:"boolean", role:"button"});
                        createState(pfad + echo +".shuffle", false, fc, {name:"Shuffel an/aus (true/false)", type:"boolean", role:"switch"});
                        createState(pfad + echo +".Last_Status","init", fc, {name:"Letzter Status", type:"string", role:"value"});
                        createState(pfad + echo +".radio", false, fc, {name:"Default Radiostation an/aus", type:"boolean", role:"switch"});
                        createState(pfad + echo +".tunein", dfSt, fc, {name:"tunein Radiosenderkennung", type:"string", role:"control.value"});
                        }
                        essid = alexaDeviceObj.devices[i].essid;
                        macAddress = alexaDeviceObj.devices[i].macAddress;
                        swVersion = alexaDeviceObj.devices[i].softwareVersion;
                        deviceTypeTxt = deviceTypeStr(alexaDeviceObj.devices[i].deviceType);
                        deviceType = alexaDeviceObj.devices[i].deviceType;
                        capabilities = JSON.stringify(alexaDeviceObj.devices[i].capabilities);

                                createState(pfad + echo +"._info.device_type_str",  deviceTypeTxt,  true,   {name:"Amazon Echo Typ",            type:"string",      role:"value"});
                                createState(pfad + echo +"._info.device_type",      deviceType,     fc,     {name:"Amazon Echo deviceType",     type:"string",      role:"value"});
                                createState(pfad + echo +"._info.essid",            essid,          true,   {name:"SSID des WLANs",             type:"string",      role:"value"});
                                createState(pfad + echo +"._info.macAddress",       macAddress,     fc,     {name:"MAc-Adresse des Echos",      type:"string",      role:"value"});
                                createState(pfad + echo +"._info.softwareVersion",  swVersion,      true,   {name:"Softwareversion des Echos",  type:"string",      role:"value"});
                                createState(pfad + echo +"._info.capabilities",     capabilities,   true,   {name:"Fähigkeiten des Echos",      type:"string",      role:"value"});
                        }
                        log("--- Alexa Kommandos - Datenpunkte angelegt ---");
                        log(JSON.stringify(echos));
                        

                        }`

                        ! In der Funktion "davor" versuche ich sie mit:
                        ~~[code]~~return null, dpAnlegen(function () {setOn()}); [/code]
                        aufzurufen.
                        ! Die Funktion dpAnlegen() wird aufgerufen, die Funktion setOn(), die die ganzen Subskription setzt, nicht mehr.
                        ! (Die Datenpunkte waren schon angelegt).
                        ! Habe ich einen Denkfehler drin, sprich was falsch oder gibt es einen "Best Practice Tipp"?[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]

                        Adapter: Fritzbox, Unify Circuit
                        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                        1 Antwort Letzte Antwort
                        0
                        • apollon77A Offline
                          apollon77A Offline
                          apollon77
                          schrieb am zuletzt editiert von
                          #12

                          Du übergibst deinem "dpAnlegen" ein en Parameter beim AUfruf. Aber die Methode an sich hat dann keinen Parameter. Also wird der nicht übergeben und du machst ja auch nichts damit.

                          Du musst:

                          function dpAnlegen(callback) {

                          definieren und dann wenn in dpAnlegen alles fertig ist dann ein "callback();" einbauen das die callback-Funtion aufgerufen wird.

                          Ein Kommentar übrigens aber: Du rufst in deiner dpAnlegen wieder alle createStates "synchron" auf. Das bedeutet: Wenn die die Schleife in dpAnlegen abgearbeitet hast ist von den createStates pot,. noch nichts abgearbeitet worden. Erst wenn Di dem Prozess wieder "freie Zeit" gibst hat er Zeit die ganzen Dinge dann asynchron abzuarbeiten.

                          In einer asynchronen Welt muss man das etwas Trickreicher machen.

                          Vllt kannst Du Dir in https://stackoverflow.com/questions/841 … ys-or-objs (die zweite Antwort) anregungen holen ... leider ist Zeit jetzt gerade knapp ein Beispiel zu basteln

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          1 Antwort Letzte Antwort
                          0
                          • ruhr70R Offline
                            ruhr70R Offline
                            ruhr70
                            schrieb am zuletzt editiert von
                            #13

                            Danke für die Antwort! Das gibt mir was zum grübeln.

                            @apollon77:

                            Du übergibst deinem "dpAnlegen" ein en Parameter beim AUfruf. Aber die Methode an sich hat dann keinen Parameter. Also wird der nicht übergeben und du machst ja auch nichts damit.

                            Du musst:

                            function dpAnlegen(callback) {

                            definieren und dann wenn in dpAnlegen alles fertig ist dann ein "callback();" einbauen das die callback-Funtion aufgerufen wird. `

                            So hatte ich das vorher. Aber die ganzen createState() waren dann beim callback(); anscheinend noch nicht fertig.

                            @apollon77:

                            Ein Kommentar übrigens aber: Du rufst in deiner dpAnlegen wieder alle createStates "synchron" auf. Das bedeutet: Wenn die die Schleife in dpAnlegen abgearbeitet hast ist von den createStates pot,. noch nichts abgearbeitet worden. Erst wenn Di dem Prozess wieder "freie Zeit" gibst hat er Zeit die ganzen Dinge dann asynchron abzuarbeiten. `

                            Das habe ich beim Probieren auch vermutet. Danke, für die Bestätigung.

                            Ich war so naiv, dass das mit callbacks am Ende einer Funktion irgendwie anders funktioniert :-)

                            @apollon77:

                            In einer asynchronen Welt muss man das etwas Trickreicher machen.

                            Vllt kannst Du Dir in https://stackoverflow.com/questions/841 … ys-or-objs (die zweite Antwort) anregungen holen ... leider ist Zeit jetzt gerade knapp ein Beispiel zu basteln `

                            Auch dafür danke. Die zweite Antwort sieht interessant aus. Allerdings verursacht das ganze asynchrone Thema und die Callbacks einen Knoten im Kopf. Ich habe keine eile und schau mal, ob ich damit zurecht komme :-)

                            Adapter: Fritzbox, Unify Circuit
                            Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                            1 Antwort Letzte Antwort
                            0
                            • apollon77A Offline
                              apollon77A Offline
                              apollon77
                              schrieb am zuletzt editiert von
                              #14

                              Ja, das asynchrone Zeug macht einmal nen Knoten im Hirn bis man es mal verarbeitet hat :-) Aber dann ists logisch.

                              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                              1 Antwort Letzte Antwort
                              0
                              • ruhr70R Offline
                                ruhr70R Offline
                                ruhr70
                                schrieb am zuletzt editiert von
                                #15

                                @apollon77:

                                In einer asynchronen Welt muss man das etwas Trickreicher machen.

                                Vllt kannst Du Dir in https://stackoverflow.com/questions/841 … ys-or-objs (die zweite Antwort) anregungen holen ... leider ist Zeit jetzt gerade knapp ein Beispiel zu basteln `

                                Ich habe mir jetzt die Zeit genommen und das Beispiel von Deinen Link (Danke!) mir näher angesehen.

                                Der Knoten im Kopf ist nicht weg ;-)

                                Als Ergebnis gibt es nun eine Funktion createStates(), die aus einem Array die Datenpunkte (hoffentlich) nacheinander anlegt.

                                var forceCreation = true;
                                
                                var datenpunkteArr =[
                                    {   "name":             'test.a',
                                        "initialValue":     true,
                                        "forceCreation":    forceCreation,
                                        "common":           {name:"Mein Boolean DP",type:"boolean", role:"value"}
                                    },
                                    {   "name":             'test.b',
                                        "initialValue":     40,
                                        "forceCreation":    forceCreation,
                                        "common":           {name:"mein Number DP", type:"number",  role:"value"}
                                    },
                                    {   "name":             'test.c',
                                        "initialValue":     "hallo",
                                        "forceCreation":    forceCreation,
                                        "common":           {name:"Mein String DP", type:"string",  role:"value"}
                                    }
                                ];
                                
                                function createStates(arr, func, cb) {
                                    var doneCounter = 0;
                                    arr.forEach(function alleDpBearbeiten(obj) {
                                        func(obj.name, obj.initialValue, obj.forceCreation, obj.common, function () {
                                            doneCounter += 1;
                                            log(doneCounter+": " + obj.name+" mit Wert: " + obj.initialValue + " ("+obj.common.type+") angelegt");
                                            if (doneCounter === arr.length) {
                                                cb("alle Datenpunkte angelegt"); // mit der Funktion (callback) geht es weiter, wenn alles erledigt ist
                                            }
                                        });
                                    });
                                }
                                
                                createStates(datenpunkteArr, createState, log);
                                

                                Adapter: Fritzbox, Unify Circuit
                                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                1 Antwort Letzte Antwort
                                0
                                • apollon77A Offline
                                  apollon77A Offline
                                  apollon77
                                  schrieb am zuletzt editiert von
                                  #16

                                  Sieht sinnig aus … passts denn?

                                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                  1 Antwort Letzte Antwort
                                  0
                                  • ruhr70R Offline
                                    ruhr70R Offline
                                    ruhr70
                                    schrieb am zuletzt editiert von
                                    #17

                                    @apollon77:

                                    Sieht sinnig aus … passts denn? `

                                    ja und nein… :?

                                    Die Datenpunkte werden anscheinend alle brav hintereinander angelegt. Beim Alexa-Steuerungs-Skript sind es bei mir 98 Stück.

                                    Das scheint zu funktionieren. Ich bekomme 98x mal hintereinander brav eine Rückmeldung von jedem createState, wenn dieses fertig ist.

                                    Als Callback für ich dann danach nicht das log() aus dem Beispiel auf, sondern die Funktion, die die Subscriptions anlegt.

                                    ! function setOn() { var reg = new RegExp("^javascript\\."+instance+"\\." + devicePfad.replace('.', '\\.') + ".*\\.(volume|pause|play|next|forward|rewind|shuffle|tunein|radio|previous)"); on({"id":reg , "change": "any"}, function (obj) { var objArr = obj.id.match(/(^.+)\.(.+)\.(.+)$/, ""); //Aufteilung in Pfad + Device + CMD var device = objArr[2]; var cmd = objArr[3]; ! switch (cmd) { case "radio": if(obj.state.val) { // default Radiostation einschalten setState(devicePfad + device +".tunein",defaultRadiostation); return; } else { // Musik auf Pause. setState(devicePfad + device +".pause",true); return; } break; ! // Buttons, true zum auslösen. Werden danach wieder auf flase gesetzt case "pause": case "play": case "next": case "forward": case "rewind": case "previous": if(getState(obj.id).val) setState(obj.id,false); // Button wieder auf false zurücksetzen, wenn er true war if(obj.state.val) alexaCommand(device,cmd,true); // Kommando war ein true -> Kommando ausführen break; ! // Switches oder Wert case "shuffle": case "volume": case "tunein": alexaCommand(device,cmd,obj.state.val); break; ! default: log("Kommando << "+cmd+" >> im Skript nicht behandelt","warn"); break; } ! }); log("--- Subscriptions angelegt ---"); } !

                                    Und hier kommt der Punkt, den ich nicht verstehe. :(

                                    Das Skript verhält sich so, wie vorher.

                                    Wenn bei der ersten Ausführung des Skriptes die Datenpunkte angelegt werden oder das Skript mir forceCreation=true ausgeführt wird, greift das on(), obwohl es erst nach den ganzen createStates ausgeführt wird.

                                    D.h. wenn ein Datenpunkt neu angelegt wird, wird die Subscriptions ausgeführt.

                                    Ich bin der Meinung, dass es nicht mehr an den asynchronen Aufruf liegen dürfte. Aber warum wird trotzdem "nachträglich" die Subscriptions ausgeführt?

                                    Bei der Skriptausführung sieht das Log so aus:

                                    22:33:17.972	[info]	javascript.1 script.js.Steuerung.Alexa_cURL_Kommandos: 96: alexa_device_command.other_devices.Michael_s_echosim_BETA._info.device_type_str mit Wert: Gerät unbekannt (string) angelegt
                                    22:33:17.972	[info]	javascript.1 script.js.Steuerung.Alexa_cURL_Kommandos: 97: alexa_device_command.other_devices.Michael_s_echosim_BETA._info.softwareVersion mit Wert: 0 (string) angelegt
                                    22:33:17.972	[info]	javascript.1 script.js.Steuerung.Alexa_cURL_Kommandos: 98: alexa_device_command.other_devices.Michael_s_echosim_BETA._info.capabilities mit Wert: ["SUPPORTS_CONNECTED_HOME_CLOUD_ONLY","KINDLE_BOOKS","AUDIBLE","AUDIO_PLAYER","SLEEP","TUNE_IN","CHANGE_NAME","I_HEART_RADIO","PERSISTENT_CONNECTION","AMAZON_MUSIC","POPTART","TIMERS_AND_ALARMS"] (string) angelegt
                                    22:33:17.972	[info]	javascript.1 script.js.Steuerung.Alexa_cURL_Kommandos: --- Alexa Kommandos - Datenpunkte angelegt ---
                                    22:33:19.964	[info]	javascript.1 script.js.Steuerung.Alexa_cURL_Kommandos: --- Subscriptions angelegt ---
                                    22:33:20.388	[info]	javascript.1 script.js.Steuerung.Alexa_cURL_Kommandos: --- Alexa Kommandos - Skript initalisiert und bereit ---
                                    

                                    Die Einträge …,96,97,98 werden im Callback des createStates ausgeführt.

                                    die Subscriptions erst, wenn alles angelegt wurde.

                                    Adapter: Fritzbox, Unify Circuit
                                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                    1 Antwort Letzte Antwort
                                    0
                                    • apollon77A Offline
                                      apollon77A Offline
                                      apollon77
                                      schrieb am zuletzt editiert von
                                      #18

                                      Woran siehst DU das die Subscriptions vorher schon ausgeführt werden?

                                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                      1 Antwort Letzte Antwort
                                      0
                                      • ruhr70R Offline
                                        ruhr70R Offline
                                        ruhr70
                                        schrieb am zuletzt editiert von
                                        #19

                                        Wenn die Datenpunkte das erste Mal angelegt werden, werden alle Datenpunkte einmal angesteuert.

                                        Ich sehe die Kommandos, die die Subscriptions auslösen und alle Alexa Lautsprecher gehen an und spielen Radio.

                                        Adapter: Fritzbox, Unify Circuit
                                        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                        1 Antwort Letzte Antwort
                                        0
                                        • apollon77A Offline
                                          apollon77A Offline
                                          apollon77
                                          schrieb am zuletzt editiert von
                                          #20

                                          Heisst, er reagiert auf das setzen der initialen Werte auch wenn das "on" vom Ablauf her noch gar nicht gesetzt wurde …hm ... ich schau morgen mal nach ...

                                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                          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

                                          823

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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