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. HowTo: Zusatz-Programme fuer jarvis v3

NEWS

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

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

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

HowTo: Zusatz-Programme fuer jarvis v3

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
889 Beiträge 33 Kommentatoren 213.4k Aufrufe 37 Watching
  • Ä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.
  • apollon77A apollon77

    @mcu Ja, Ich hab nicht aufgepasst ... kommt davon wenn man soviel an Adaptern rumfummelt die man selbst nicht geschrieben hat. Da kann man solche Kleinigkeiten übersehen :-(

    M Online
    M Online
    MCU
    schrieb am zuletzt editiert von
    #39

    @apollon77 Wir sind alle dankbar, dass du es kannst und machst. Da passieren auch mal Kleinigkeiten. Also DANKE.

    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

    1 Antwort Letzte Antwort
    2
    • B Offline
      B Offline
      Bloody
      schrieb am zuletzt editiert von
      #40

      @MCU
      Ich hatte bereits Combined, feed und short probiert, funktioniert bei keinem Wert.

      M 2 Antworten Letzte Antwort
      0
      • B Bloody

        @MCU
        Ich hatte bereits Combined, feed und short probiert, funktioniert bei keinem Wert.

        M Online
        M Online
        MCU
        schrieb am zuletzt editiert von
        #41

        @bloody Falls es dir um die günstigste geht, ist im Adapter schon drin:

        1a2a47d5-ee45-4fa7-939e-ed9510fcb3ee-image.png

        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

        1 Antwort Letzte Antwort
        0
        • B Bloody

          @MCU
          Ich hatte bereits Combined, feed und short probiert, funktioniert bei keinem Wert.

          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von MCU
          #42

          @bloody Also funktioniert bei mir mit dem feed-Wert. Du warst nicht gleichzeitig in der Bearbeitung von jarvis im FrontEnd?

          statelistSort('0','13c88101-c6bb-48b6-9347-5122a3ef3bbe','number',false);
          

          de5aa287-2f2b-43ba-9de9-59267ba1691c-image.png

          statelistSort('0','13c88101-c6bb-48b6-9347-5122a3ef3bbe','number',true);
          

          06e4e028-8ed3-4f1d-850f-4ce822efce00-image.png

          Habe die Doku nochmal angepasst:
          https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/system-effektprog./v3-systemprogramme/statelistsort
          evtl F5 drücken.

          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          B 1 Antwort Letzte Antwort
          1
          • M MCU

            @bloody Also funktioniert bei mir mit dem feed-Wert. Du warst nicht gleichzeitig in der Bearbeitung von jarvis im FrontEnd?

            statelistSort('0','13c88101-c6bb-48b6-9347-5122a3ef3bbe','number',false);
            

            de5aa287-2f2b-43ba-9de9-59267ba1691c-image.png

            statelistSort('0','13c88101-c6bb-48b6-9347-5122a3ef3bbe','number',true);
            

            06e4e028-8ed3-4f1d-850f-4ce822efce00-image.png

            Habe die Doku nochmal angepasst:
            https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/system-effektprog./v3-systemprogramme/statelistsort
            evtl F5 drücken.

            B Offline
            B Offline
            Bloody
            schrieb am zuletzt editiert von
            #43

            @mcu
            Danke für die Rückmeldung.
            Das Problem war, dass ich zwar den feed Datenpunkt benutzt habe aber noch in den Datenpunkt Eigenschaften gerundet hatte ({"value":"val => parseFloat(val).toFixed(2)"}).
            Keine Ahnung, wieso ich das so gemacht hatte, weil es ja den DP short auch gibt. Gabs den schon immer? Naja egal, es geht jetzt.
            Hab es jetzt so gelöst.
            https://forum.iobroker.net/topic/49776/jarvis-v3-0-0-just-another-remarkable-vis/2364

            Dankeschön.

            1 Antwort Letzte Antwort
            0
            • B Offline
              B Offline
              Bloody
              schrieb am zuletzt editiert von
              #44

              Moin @MCU,

              hab doch noch ein Problem.
              Es steht nicht immer der billigste Preis oben. Erst wenn ich das Skript neustarte, passt es wieder.
              Aber da ist doch ein Trigger drin, falls sich ein Preis ändert, soll sich die Reihenfolge anpassen
              oder liege ich falsch?

              M 1 Antwort Letzte Antwort
              0
              • B Bloody

                Moin @MCU,

                hab doch noch ein Problem.
                Es steht nicht immer der billigste Preis oben. Erst wenn ich das Skript neustarte, passt es wieder.
                Aber da ist doch ein Trigger drin, falls sich ein Preis ändert, soll sich die Reihenfolge anpassen
                oder liege ich falsch?

                M Online
                M Online
                MCU
                schrieb am zuletzt editiert von
                #45

                @bloody Das soll ja so. Soll der teuerste oben sein dann muss man false setzen.

                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                B 1 Antwort Letzte Antwort
                0
                • M MCU

                  @bloody Das soll ja so. Soll der teuerste oben sein dann muss man false setzen.

                  B Offline
                  B Offline
                  Bloody
                  schrieb am zuletzt editiert von
                  #46

                  @mcu
                  Kann leider gerade kein Screenshot machen, da es aktuell mit der Reihenfolge passt (von klein nach groß). Hätte ich vielleicht dazu sagen sollen... Bei mir ist es dann nicht von klein nach groß oder von groß nach klein sortiert, sondern die Preise sind durcheinander gewürfelt.
                  Beispielsweise so:

                  1.91
                  1.95
                  1.98
                  1.89
                  1.70

                  1 Antwort Letzte Antwort
                  0
                  • M Online
                    M Online
                    MCU
                    schrieb am zuletzt editiert von MCU
                    #47

                    @bloody Dann zeig mal bitte das Programm, welches du nutzt. Bitte in CodeTags (</>), also auf e07c2e6c-780f-4d2b-ba36-33ce9491c295-image.png klicken und den COde einfügen. Danke. Mir reicht der Trigger Teil, nicht die function().
                    Kann es sein, dass du nur einmal um 01:00 Uhr die Funktion laufen lässt?

                    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                    B 1 Antwort Letzte Antwort
                    0
                    • M MCU

                      @bloody Dann zeig mal bitte das Programm, welches du nutzt. Bitte in CodeTags (</>), also auf e07c2e6c-780f-4d2b-ba36-33ce9491c295-image.png klicken und den COde einfügen. Danke. Mir reicht der Trigger Teil, nicht die function().
                      Kann es sein, dass du nur einmal um 01:00 Uhr die Funktion laufen lässt?

                      B Offline
                      B Offline
                      Bloody
                      schrieb am zuletzt editiert von Bloody
                      #48

                      @mcu
                      Hier nochmal, der aktuelle Stand.
                      cb7c076f-cae9-4205-a1dc-070bae52e844-image.png

                      Ich sehe gar keinen Trigger :confused:

                      // ************************
                      // stateListSort 
                      // ************************
                      
                      
                      statelistSort('0','hier ist die id drin','number',true);
                      
                      function statelistSort(instance,widgetId,valType,sortUp){
                          // insbesondere für trashschedule
                          let widgetsDP = 'jarvis.' + instance + '.widgets';
                          let widgets = getState(widgetsDP).val;
                          widgets = JSON.parse(widgets);
                          let arr = [];
                          for (let id in widgets){
                              if (id == widgetId ){
                                  for (let key in widgets[id].items){
                                      // Type vom item prüfen
                                      if (widgets[id].items[key].type == 'device'){
                                          let objId =getStateFromDevice(instance, widgets[id].items[key].deviceId, widgets[id].items[key].primaryStateKey);
                                          let objVal = getState(objId).val;
                                          if (typeof(objVal) == valType){
                                              arr.push({'objVal':objVal,'key':key, 'all': widgets[id].items[key]});
                                          }else{
                                              arr.push({'objVal':0,'key':key, 'all': widgets[id].items[key]});
                                              //log('Abbruch, da Wert nicht stimmt: objVal: '+ objVal +' - '+typeof(objVal));
                                              // arr= [];
                                              // break;
                                          }
                                      }else{
                                          log('Liste nicht sinnvoll sortierbar, da divider vorhanden');
                                          arr =[];
                                          break;
                                      }
                                  }
                                  // Sort arr
                                  if (arr.length>0){
                                      if (valType == 'boolean'){
                                          if (sortUp || sortUp == undefined){
                                              arr.sort((a, b) => (toBoolean(a.objVal) > toBoolean (b.objVal)) ? 1 : -1);
                                          }else{
                                              arr.sort((a, b) => (toBoolean(a.objVal) < toBoolean (b.objVal)) ? 1 : -1);
                                          }
                                      }
                                       if (valType == 'number'){
                                          if (sortUp || sortUp == undefined){
                                              arr.sort((a, b) => (a.objVal > b.objVal ) ? 1 : -1);
                                          }else{
                                              arr.sort((a, b) => (a.objVal < b.objVal) ? 1 : -1);
                                          }
                                      }
                                  }else{
                                      log('Abbruch der Sortierung');
                                  }
                                  break;
                              }
                              
                          }
                          let widgetArr = [];
                          for (let i=0;i<arr.length;i++){
                              log(i+' - '+arr[i].objVal+' - key: '+arr[i].key);
                              widgetArr.push(arr[i].all);
                          }
                          for (let id in widgets){
                              if (id == widgetId ){
                                  widgets[id].items = widgetArr;
                                  log ('Nachher:'+JSON.stringify(widgets[id].items));
                                  break;
                              }
                          }
                          setState(widgetsDP,JSON.stringify(widgets),false);
                      }
                      
                      function getStateFromDevice(instance, deviceId, devState){
                          let devicesDP = 'jarvis.' + instance + '.devices';
                          let devices = getState(devicesDP).val;
                          devices = JSON.parse(devices);
                          for (let key in devices){
                              let devicesArr = devices[key];
                              for (let key2 in devicesArr){
                                  if (deviceId ==devicesArr[key2].id){
                                      let devicesStates =devicesArr[key2].states;
                                      for (let key3 in devicesStates){
                                          if (devState == key3){
                                              return devicesStates[key3].state;
                                          }
                                      }
                                  }
                              }
                          }
                      

                      Nachtrag:
                      Ich habs jetzt. Hatte nicht gesehen, dass es bereits einen weiteren Eintrag und Trigger gibt.
                      https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/system-effektprog./v3-systemprogramme/statelistsort/javascript-zusatz-tankerkoenig

                      Habs jetzt so:

                      // ************************
                      // stateListSort 
                      // ************************
                      
                      
                      statelistSort('0','id','number',true);
                      
                      function statelistSort(instance,widgetId,valType,sortUp){
                          // insbesondere für trashschedule
                          let widgetsDP = 'jarvis.' + instance + '.widgets';
                          let widgets = getState(widgetsDP).val;
                          widgets = JSON.parse(widgets);
                          let arr = [];
                          for (let id in widgets){
                              if (id == widgetId ){
                                  for (let key in widgets[id].items){
                                      // Type vom item prüfen
                                      if (widgets[id].items[key].type == 'device'){
                                          let objId =getStateFromDevice(instance, widgets[id].items[key].deviceId, widgets[id].items[key].primaryStateKey);
                                          let objVal = getState(objId).val;
                                          if (typeof(objVal) == valType){
                                              arr.push({'objVal':objVal,'key':key, 'all': widgets[id].items[key]});
                                          }else{
                                              arr.push({'objVal':0,'key':key, 'all': widgets[id].items[key]});
                                              //log('Abbruch, da Wert nicht stimmt: objVal: '+ objVal +' - '+typeof(objVal));
                                              // arr= [];
                                              // break;
                                          }
                                      }else{
                                          log('Liste nicht sinnvoll sortierbar, da divider vorhanden');
                                          arr =[];
                                          break;
                                      }
                                  }
                                  // Sort arr
                                  if (arr.length>0){
                                      if (valType == 'boolean'){
                                          if (sortUp || sortUp == undefined){
                                              arr.sort((a, b) => (toBoolean(a.objVal) > toBoolean (b.objVal)) ? 1 : -1);
                                          }else{
                                              arr.sort((a, b) => (toBoolean(a.objVal) < toBoolean (b.objVal)) ? 1 : -1);
                                          }
                                      }
                                       if (valType == 'number'){
                                          if (sortUp || sortUp == undefined){
                                              arr.sort((a, b) => (a.objVal > b.objVal ) ? 1 : -1);
                                          }else{
                                              arr.sort((a, b) => (a.objVal < b.objVal) ? 1 : -1);
                                          }
                                      }
                                  }else{
                                      log('Abbruch der Sortierung');
                                  }
                                  break;
                              }
                              
                          }
                          let widgetArr = [];
                          for (let i=0;i<arr.length;i++){
                              log(i+' - '+arr[i].objVal+' - key: '+arr[i].key);
                              widgetArr.push(arr[i].all);
                          }
                          for (let id in widgets){
                              if (id == widgetId ){
                                  widgets[id].items = widgetArr;
                                  log ('Nachher:'+JSON.stringify(widgets[id].items));
                                  break;
                              }
                          }
                          setState(widgetsDP,JSON.stringify(widgets),false);
                      }
                      
                          // **********************************
                      // tankerkoenig Zusatz
                      // **********************************
                      // Möchte man die Preis in einem Widget sortiert haben
                      // kann man direkt nach Änderung der Preise für die Spritsorten
                      // die Sortierung neu anstossen
                      // Beide Script stateListSort und tankerkoenigSort muessen in einem Script zusammen sein
                      
                      // -> 
                      // Spritart anpassen e10 , diesel oder e5
                      //
                      // Hier zurzeit e10 gezeigt
                      //
                      // Fall man möchte bei jeder Preisänderung eine Sortierung
                      let tankerkoenigDPs = 'tankerkoenig.0.stations.*.e10.feed';
                      
                      $(tankerkoenigDPs).on(function (obj) {
                          if (obj.deviceId != 'tankerkoenig.0.stations.cheapest'){
                              statelistSort('0','id','number',true)
                          }
                      });
                      
                      
                      function getStateFromDevice(instance, deviceId, devState){
                          let devicesDP = 'jarvis.' + instance + '.devices';
                          let devices = getState(devicesDP).val;
                          devices = JSON.parse(devices);
                          for (let key in devices){
                              let devicesArr = devices[key];
                              for (let key2 in devicesArr){
                                  if (deviceId ==devicesArr[key2].id){
                                      let devicesStates =devicesArr[key2].states;
                                      for (let key3 in devicesStates){
                                          if (devState == key3){
                                              return devicesStates[key3].state;
                                          }
                                      }
                                  }
                              }
                          }
                          
                      
                          
                      }
                      

                      Sorry für die Umstände und Danke!

                      M 1 Antwort Letzte Antwort
                      0
                      • B Bloody

                        @mcu
                        Hier nochmal, der aktuelle Stand.
                        cb7c076f-cae9-4205-a1dc-070bae52e844-image.png

                        Ich sehe gar keinen Trigger :confused:

                        // ************************
                        // stateListSort 
                        // ************************
                        
                        
                        statelistSort('0','hier ist die id drin','number',true);
                        
                        function statelistSort(instance,widgetId,valType,sortUp){
                            // insbesondere für trashschedule
                            let widgetsDP = 'jarvis.' + instance + '.widgets';
                            let widgets = getState(widgetsDP).val;
                            widgets = JSON.parse(widgets);
                            let arr = [];
                            for (let id in widgets){
                                if (id == widgetId ){
                                    for (let key in widgets[id].items){
                                        // Type vom item prüfen
                                        if (widgets[id].items[key].type == 'device'){
                                            let objId =getStateFromDevice(instance, widgets[id].items[key].deviceId, widgets[id].items[key].primaryStateKey);
                                            let objVal = getState(objId).val;
                                            if (typeof(objVal) == valType){
                                                arr.push({'objVal':objVal,'key':key, 'all': widgets[id].items[key]});
                                            }else{
                                                arr.push({'objVal':0,'key':key, 'all': widgets[id].items[key]});
                                                //log('Abbruch, da Wert nicht stimmt: objVal: '+ objVal +' - '+typeof(objVal));
                                                // arr= [];
                                                // break;
                                            }
                                        }else{
                                            log('Liste nicht sinnvoll sortierbar, da divider vorhanden');
                                            arr =[];
                                            break;
                                        }
                                    }
                                    // Sort arr
                                    if (arr.length>0){
                                        if (valType == 'boolean'){
                                            if (sortUp || sortUp == undefined){
                                                arr.sort((a, b) => (toBoolean(a.objVal) > toBoolean (b.objVal)) ? 1 : -1);
                                            }else{
                                                arr.sort((a, b) => (toBoolean(a.objVal) < toBoolean (b.objVal)) ? 1 : -1);
                                            }
                                        }
                                         if (valType == 'number'){
                                            if (sortUp || sortUp == undefined){
                                                arr.sort((a, b) => (a.objVal > b.objVal ) ? 1 : -1);
                                            }else{
                                                arr.sort((a, b) => (a.objVal < b.objVal) ? 1 : -1);
                                            }
                                        }
                                    }else{
                                        log('Abbruch der Sortierung');
                                    }
                                    break;
                                }
                                
                            }
                            let widgetArr = [];
                            for (let i=0;i<arr.length;i++){
                                log(i+' - '+arr[i].objVal+' - key: '+arr[i].key);
                                widgetArr.push(arr[i].all);
                            }
                            for (let id in widgets){
                                if (id == widgetId ){
                                    widgets[id].items = widgetArr;
                                    log ('Nachher:'+JSON.stringify(widgets[id].items));
                                    break;
                                }
                            }
                            setState(widgetsDP,JSON.stringify(widgets),false);
                        }
                        
                        function getStateFromDevice(instance, deviceId, devState){
                            let devicesDP = 'jarvis.' + instance + '.devices';
                            let devices = getState(devicesDP).val;
                            devices = JSON.parse(devices);
                            for (let key in devices){
                                let devicesArr = devices[key];
                                for (let key2 in devicesArr){
                                    if (deviceId ==devicesArr[key2].id){
                                        let devicesStates =devicesArr[key2].states;
                                        for (let key3 in devicesStates){
                                            if (devState == key3){
                                                return devicesStates[key3].state;
                                            }
                                        }
                                    }
                                }
                            }
                        

                        Nachtrag:
                        Ich habs jetzt. Hatte nicht gesehen, dass es bereits einen weiteren Eintrag und Trigger gibt.
                        https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/system-effektprog./v3-systemprogramme/statelistsort/javascript-zusatz-tankerkoenig

                        Habs jetzt so:

                        // ************************
                        // stateListSort 
                        // ************************
                        
                        
                        statelistSort('0','id','number',true);
                        
                        function statelistSort(instance,widgetId,valType,sortUp){
                            // insbesondere für trashschedule
                            let widgetsDP = 'jarvis.' + instance + '.widgets';
                            let widgets = getState(widgetsDP).val;
                            widgets = JSON.parse(widgets);
                            let arr = [];
                            for (let id in widgets){
                                if (id == widgetId ){
                                    for (let key in widgets[id].items){
                                        // Type vom item prüfen
                                        if (widgets[id].items[key].type == 'device'){
                                            let objId =getStateFromDevice(instance, widgets[id].items[key].deviceId, widgets[id].items[key].primaryStateKey);
                                            let objVal = getState(objId).val;
                                            if (typeof(objVal) == valType){
                                                arr.push({'objVal':objVal,'key':key, 'all': widgets[id].items[key]});
                                            }else{
                                                arr.push({'objVal':0,'key':key, 'all': widgets[id].items[key]});
                                                //log('Abbruch, da Wert nicht stimmt: objVal: '+ objVal +' - '+typeof(objVal));
                                                // arr= [];
                                                // break;
                                            }
                                        }else{
                                            log('Liste nicht sinnvoll sortierbar, da divider vorhanden');
                                            arr =[];
                                            break;
                                        }
                                    }
                                    // Sort arr
                                    if (arr.length>0){
                                        if (valType == 'boolean'){
                                            if (sortUp || sortUp == undefined){
                                                arr.sort((a, b) => (toBoolean(a.objVal) > toBoolean (b.objVal)) ? 1 : -1);
                                            }else{
                                                arr.sort((a, b) => (toBoolean(a.objVal) < toBoolean (b.objVal)) ? 1 : -1);
                                            }
                                        }
                                         if (valType == 'number'){
                                            if (sortUp || sortUp == undefined){
                                                arr.sort((a, b) => (a.objVal > b.objVal ) ? 1 : -1);
                                            }else{
                                                arr.sort((a, b) => (a.objVal < b.objVal) ? 1 : -1);
                                            }
                                        }
                                    }else{
                                        log('Abbruch der Sortierung');
                                    }
                                    break;
                                }
                                
                            }
                            let widgetArr = [];
                            for (let i=0;i<arr.length;i++){
                                log(i+' - '+arr[i].objVal+' - key: '+arr[i].key);
                                widgetArr.push(arr[i].all);
                            }
                            for (let id in widgets){
                                if (id == widgetId ){
                                    widgets[id].items = widgetArr;
                                    log ('Nachher:'+JSON.stringify(widgets[id].items));
                                    break;
                                }
                            }
                            setState(widgetsDP,JSON.stringify(widgets),false);
                        }
                        
                            // **********************************
                        // tankerkoenig Zusatz
                        // **********************************
                        // Möchte man die Preis in einem Widget sortiert haben
                        // kann man direkt nach Änderung der Preise für die Spritsorten
                        // die Sortierung neu anstossen
                        // Beide Script stateListSort und tankerkoenigSort muessen in einem Script zusammen sein
                        
                        // -> 
                        // Spritart anpassen e10 , diesel oder e5
                        //
                        // Hier zurzeit e10 gezeigt
                        //
                        // Fall man möchte bei jeder Preisänderung eine Sortierung
                        let tankerkoenigDPs = 'tankerkoenig.0.stations.*.e10.feed';
                        
                        $(tankerkoenigDPs).on(function (obj) {
                            if (obj.deviceId != 'tankerkoenig.0.stations.cheapest'){
                                statelistSort('0','id','number',true)
                            }
                        });
                        
                        
                        function getStateFromDevice(instance, deviceId, devState){
                            let devicesDP = 'jarvis.' + instance + '.devices';
                            let devices = getState(devicesDP).val;
                            devices = JSON.parse(devices);
                            for (let key in devices){
                                let devicesArr = devices[key];
                                for (let key2 in devicesArr){
                                    if (deviceId ==devicesArr[key2].id){
                                        let devicesStates =devicesArr[key2].states;
                                        for (let key3 in devicesStates){
                                            if (devState == key3){
                                                return devicesStates[key3].state;
                                            }
                                        }
                                    }
                                }
                            }
                            
                        
                            
                        }
                        

                        Sorry für die Umstände und Danke!

                        M Online
                        M Online
                        MCU
                        schrieb am zuletzt editiert von MCU
                        #49

                        @bloody

                        Zeile 6 statelistSort('0','Hier muss die Nummer vom Widget rein','number',true);
                        Auch in Zeile 91 statt id -> Auch DEINE WIDGETID z.B.:8dd7dd58-7b35-4efa-ac7f-e262df17f1f9
                        
                        Wie im Beispiel
                        // statelistSort('0','8dd7dd58-7b35-4efa-ac7f-e262df17f1f9','number',true);
                        

                        https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/system-effektprog./v3-systemprogramme/statelistsort#widgetid-aus-dem-layout

                        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                        1 Antwort Letzte Antwort
                        1
                        • CarstenDerGroßeC Offline
                          CarstenDerGroßeC Offline
                          CarstenDerGroße
                          schrieb am zuletzt editiert von CarstenDerGroße
                          #50

                          Hallo zusammen, hallo @MCU

                          ich hatte ja im Hauptthread von Jarvis schonmal wegen der Spotify-Tracklist geschrieben und feststellen müssen das ein Titelwechsel ohne vis und iframe aktuell noch nicht möglich ist...

                          Nun hatte ich etwas zeit und habe einen Fork des Spotify-Adapters anleget und dort die Einstellungsmöglichkeit geschaffen die htmlDPs Jarvis konform erstellen zu lassen (heißt auch das Script für die Bilder kann entfallen sobald mein Pullrequest gemerged ist).

                          Einen entsprechenden pullrequest hab ich natürlich auf den Adapter gestellt.

                          Für alle die es Testen und nutzen wollen:

                          • Spotiy-premium-Adapter von https://github.com/mericon/ioBroker.spotify-premium installieren

                          • Bilder aus dem ordner iobroker.spotify-premium/widgets/spotify-premium/img
                            nach vis.0/spotify kopieren

                          gruß

                          Carsten

                          1 Antwort Letzte Antwort
                          1
                          • U Offline
                            U Offline
                            Urknall
                            schrieb am zuletzt editiert von Urknall
                            #51

                            Ich hoffe hier bin ich richtig.....
                            Ich bin dabei das Projekt von OpenLigaDB von @MCU umzusetzen. Leider komme ich Aktuell nicht weiter. Habe die Anleitung schon 2-3 mal durch, und DP kontrolliert....aber es klappt nicht. Das Script füllt die Anzeigenvarianten in liga und team nicht.
                            Folgende Fehlermeldung sagt das Script, weiss jemand rat?

                            23.7.2022, 16:49:23.494	[info ]: javascript.0 (14922) Stop script script.js.common.Buli
                            23.7.2022, 16:49:23.520	[info ]: javascript.0 (14922) Start javascript script.js.common.Buli
                            23.7.2022, 16:49:23.527	[info ]: javascript.0 (14922) script.js.common.Buli: Create Ligen Script Start
                            23.7.2022, 16:49:23.528	[info ]: javascript.0 (14922) script.js.common.Buli: registered 8 subscriptions and 0 schedules
                            23.7.2022, 16:49:26.531	[warn ]: javascript.0 (14922) script.js.common.Buli: Eintrag für JARVIS (Anzeigevariante DP liga): {"openligadb.0.bl1.2022.allmatches":"1. Bundesliga 2022","openligadb.0.bl2.2022.allmatches":"2. Bundesliga 2022","openligadb.0.dfb2022.2022.allmatches":"DFB-Pokal 2022"}
                            23.7.2022, 16:49:26.534	[info ]: javascript.0 (14922) script.js.common.Buli: DevState: liga gefunden!
                            23.7.2022, 16:49:26.537	[error]: javascript.0 (14922)     at setDeviceIdState (script.js.common.Buli:676:57)
                            23.7.2022, 16:49:26.538	[error]: javascript.0 (14922)     at createLigen (script.js.common.Buli:355:13)
                            23.7.2022, 16:49:26.538	[error]: javascript.0 (14922)     at Object.<anonymous> (script.js.common.Buli:61:13)
                            23.7.2022, 16:49:29.574	[info ]: javascript.0 (14922) script.js.common.Buli: bdlLigaDP: openligadb.0.bl1.2022.allmatches
                            23.7.2022, 16:49:29.575	[info ]: javascript.0 (14922) script.js.common.Buli: Create Team Liga-Änderung
                            23.7.2022, 16:49:29.576	[info ]: javascript.0 (14922) script.js.common.Buli: Liga create Teams: openligadb.0.bl1.2022.allmatches
                            23.7.2022, 16:49:29.591	[warn ]: javascript.0 (14922) script.js.common.Buli: Eintrag für JARVIS (Anzeigevariante DP team): {"6":"Bayer Leverkusen","7":"Borussia Dortmund","9":"FC Schalke 04","16":"VfB Stuttgart","40":"FC Bayern München","54":"Hertha BSC","65":"1. FC Köln","80":"1. FC Union Berlin","81":"1. FSV Mainz 05","87":"Borussia Mönchengladbach","91":"Eintracht Frankfurt","95":"FC Augsburg","112":"SC Freiburg","129":"VfL Bochum","131":"VfL Wolfsburg","134":"Werder Bremen","175":"TSG 1899 Hoffenheim","1635":"RB Leipzig","":"Keine Auswahl"}
                            23.7.2022, 16:49:32.624	[info ]: javascript.0 (14922) script.js.common.Buli: TeamDP -> Keine Auswahl ausgewählt
                            23.7.2022, 16:49:32.625	[info ]: javascript.0 (14922) script.js.common.Buli: bdlLigaDP: openligadb.0.bl1.2022.allmatches
                            23.7.2022, 16:49:34.593	[info ]: javascript.0 (14922) script.js.common.Buli: bdlLigaDP -> createTeams: openligadb.0.bl1.2022.allmatches
                            23.7.2022, 16:49:34.613	[info ]: javascript.0 (14922) script.js.common.Buli: bdlLigaDP -> configStates: {"6":"Bayer Leverkusen","7":"Borussia Dortmund","9":"FC Schalke 04","16":"VfB Stuttgart","40":"FC Bayern München","54":"Hertha BSC","65":"1. FC Köln","80":"1. FC Union Berlin","81":"1. FSV Mainz 05","87":"Borussia Mönchengladbach","91":"Eintracht Frankfurt","95":"FC Augsburg","112":"SC Freiburg","129":"VfL Bochum","131":"VfL Wolfsburg","134":"Werder Bremen","175":"TSG 1899 Hoffenheim","1635":"RB Leipzig","":"Keine Auswahl"}
                            23.7.2022, 16:49:34.614	[info ]: javascript.0 (14922) script.js.common.Buli: DevState: team gefunden!
                            23.7.2022, 16:49:34.618	[error]: javascript.0 (14922)     at setDeviceIdState (script.js.common.Buli:676:57)
                            23.7.2022, 16:49:34.618	[error]: javascript.0 (14922)     at Object.<anonymous> (script.js.common.Buli:199:21)
                            

                            Link: Anleitung
                            Die Geräte ID "Bundesliga" wird vom Scan richtig erkannte und hinterlegt.

                            M 1 Antwort Letzte Antwort
                            0
                            • U Urknall

                              Ich hoffe hier bin ich richtig.....
                              Ich bin dabei das Projekt von OpenLigaDB von @MCU umzusetzen. Leider komme ich Aktuell nicht weiter. Habe die Anleitung schon 2-3 mal durch, und DP kontrolliert....aber es klappt nicht. Das Script füllt die Anzeigenvarianten in liga und team nicht.
                              Folgende Fehlermeldung sagt das Script, weiss jemand rat?

                              23.7.2022, 16:49:23.494	[info ]: javascript.0 (14922) Stop script script.js.common.Buli
                              23.7.2022, 16:49:23.520	[info ]: javascript.0 (14922) Start javascript script.js.common.Buli
                              23.7.2022, 16:49:23.527	[info ]: javascript.0 (14922) script.js.common.Buli: Create Ligen Script Start
                              23.7.2022, 16:49:23.528	[info ]: javascript.0 (14922) script.js.common.Buli: registered 8 subscriptions and 0 schedules
                              23.7.2022, 16:49:26.531	[warn ]: javascript.0 (14922) script.js.common.Buli: Eintrag für JARVIS (Anzeigevariante DP liga): {"openligadb.0.bl1.2022.allmatches":"1. Bundesliga 2022","openligadb.0.bl2.2022.allmatches":"2. Bundesliga 2022","openligadb.0.dfb2022.2022.allmatches":"DFB-Pokal 2022"}
                              23.7.2022, 16:49:26.534	[info ]: javascript.0 (14922) script.js.common.Buli: DevState: liga gefunden!
                              23.7.2022, 16:49:26.537	[error]: javascript.0 (14922)     at setDeviceIdState (script.js.common.Buli:676:57)
                              23.7.2022, 16:49:26.538	[error]: javascript.0 (14922)     at createLigen (script.js.common.Buli:355:13)
                              23.7.2022, 16:49:26.538	[error]: javascript.0 (14922)     at Object.<anonymous> (script.js.common.Buli:61:13)
                              23.7.2022, 16:49:29.574	[info ]: javascript.0 (14922) script.js.common.Buli: bdlLigaDP: openligadb.0.bl1.2022.allmatches
                              23.7.2022, 16:49:29.575	[info ]: javascript.0 (14922) script.js.common.Buli: Create Team Liga-Änderung
                              23.7.2022, 16:49:29.576	[info ]: javascript.0 (14922) script.js.common.Buli: Liga create Teams: openligadb.0.bl1.2022.allmatches
                              23.7.2022, 16:49:29.591	[warn ]: javascript.0 (14922) script.js.common.Buli: Eintrag für JARVIS (Anzeigevariante DP team): {"6":"Bayer Leverkusen","7":"Borussia Dortmund","9":"FC Schalke 04","16":"VfB Stuttgart","40":"FC Bayern München","54":"Hertha BSC","65":"1. FC Köln","80":"1. FC Union Berlin","81":"1. FSV Mainz 05","87":"Borussia Mönchengladbach","91":"Eintracht Frankfurt","95":"FC Augsburg","112":"SC Freiburg","129":"VfL Bochum","131":"VfL Wolfsburg","134":"Werder Bremen","175":"TSG 1899 Hoffenheim","1635":"RB Leipzig","":"Keine Auswahl"}
                              23.7.2022, 16:49:32.624	[info ]: javascript.0 (14922) script.js.common.Buli: TeamDP -> Keine Auswahl ausgewählt
                              23.7.2022, 16:49:32.625	[info ]: javascript.0 (14922) script.js.common.Buli: bdlLigaDP: openligadb.0.bl1.2022.allmatches
                              23.7.2022, 16:49:34.593	[info ]: javascript.0 (14922) script.js.common.Buli: bdlLigaDP -> createTeams: openligadb.0.bl1.2022.allmatches
                              23.7.2022, 16:49:34.613	[info ]: javascript.0 (14922) script.js.common.Buli: bdlLigaDP -> configStates: {"6":"Bayer Leverkusen","7":"Borussia Dortmund","9":"FC Schalke 04","16":"VfB Stuttgart","40":"FC Bayern München","54":"Hertha BSC","65":"1. FC Köln","80":"1. FC Union Berlin","81":"1. FSV Mainz 05","87":"Borussia Mönchengladbach","91":"Eintracht Frankfurt","95":"FC Augsburg","112":"SC Freiburg","129":"VfL Bochum","131":"VfL Wolfsburg","134":"Werder Bremen","175":"TSG 1899 Hoffenheim","1635":"RB Leipzig","":"Keine Auswahl"}
                              23.7.2022, 16:49:34.614	[info ]: javascript.0 (14922) script.js.common.Buli: DevState: team gefunden!
                              23.7.2022, 16:49:34.618	[error]: javascript.0 (14922)     at setDeviceIdState (script.js.common.Buli:676:57)
                              23.7.2022, 16:49:34.618	[error]: javascript.0 (14922)     at Object.<anonymous> (script.js.common.Buli:199:21)
                              

                              Link: Anleitung
                              Die Geräte ID "Bundesliga" wird vom Scan richtig erkannte und hinterlegt.

                              M Online
                              M Online
                              MCU
                              schrieb am zuletzt editiert von MCU
                              #52

                              @urknall Zeig mal bitte den stateDP von jarvis liga.
                              66931235-4232-4226-9651-9d93a5215ef2-image.png

                              Hattest du dort etwas eingetragen?
                              1266add4-7aaf-47cc-9cb4-724bb433f3bb-image.png

                              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                              U 1 Antwort Letzte Antwort
                              0
                              • M MCU

                                @urknall Zeig mal bitte den stateDP von jarvis liga.
                                66931235-4232-4226-9651-9d93a5215ef2-image.png

                                Hattest du dort etwas eingetragen?
                                1266add4-7aaf-47cc-9cb4-724bb433f3bb-image.png

                                U Offline
                                U Offline
                                Urknall
                                schrieb am zuletzt editiert von Urknall
                                #53

                                @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                @urknall Zeig mal bitte den stateDP von jarvis liga.
                                66931235-4232-4226-9651-9d93a5215ef2-image.png

                                Hattest du dort etwas eingetragen?
                                1266add4-7aaf-47cc-9cb4-724bb433f3bb-image.png

                                Nein da habe ich nix eingetragen da durch script ausgefüllt wird.

                                Meintest du:

                                0_userdata.0.jarvis.bdl.liga
                                
                                M 1 Antwort Letzte Antwort
                                0
                                • U Urknall

                                  @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                  @urknall Zeig mal bitte den stateDP von jarvis liga.
                                  66931235-4232-4226-9651-9d93a5215ef2-image.png

                                  Hattest du dort etwas eingetragen?
                                  1266add4-7aaf-47cc-9cb4-724bb433f3bb-image.png

                                  Nein da habe ich nix eingetragen da durch script ausgefüllt wird.

                                  Meintest du:

                                  0_userdata.0.jarvis.bdl.liga
                                  
                                  M Online
                                  M Online
                                  MCU
                                  schrieb am zuletzt editiert von MCU
                                  #54

                                  @urknall Nein, den DP in jarvis
                                  99263e4c-bd16-4cc4-a28f-a9e37a198a90-image.png

                                  Zeig mal bitte die Objektstruktur von
                                  84d30dc4-b26f-46d2-b04e-d08da03e63a4-image.png

                                  NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                  U 1 Antwort Letzte Antwort
                                  0
                                  • M MCU

                                    @urknall Nein, den DP in jarvis
                                    99263e4c-bd16-4cc4-a28f-a9e37a198a90-image.png

                                    Zeig mal bitte die Objektstruktur von
                                    84d30dc4-b26f-46d2-b04e-d08da03e63a4-image.png

                                    U Offline
                                    U Offline
                                    Urknall
                                    schrieb am zuletzt editiert von Urknall
                                    #55

                                    @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                    @urknall Nein, den DP in jarvis
                                    99263e4c-bd16-4cc4-a28f-a9e37a198a90-image.png

                                    Bildschirmfoto 2022-07-23 um 19.42.09.png

                                    Bildschirmfoto 2022-07-23 um 19.43.01.png

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • U Urknall

                                      @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                      @urknall Nein, den DP in jarvis
                                      99263e4c-bd16-4cc4-a28f-a9e37a198a90-image.png

                                      Bildschirmfoto 2022-07-23 um 19.42.09.png

                                      Bildschirmfoto 2022-07-23 um 19.43.01.png

                                      M Online
                                      M Online
                                      MCU
                                      schrieb am zuletzt editiert von
                                      #56

                                      @urknall Mit Daten.

                                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                      U 1 Antwort Letzte Antwort
                                      0
                                      • M MCU

                                        @urknall Mit Daten.

                                        U Offline
                                        U Offline
                                        Urknall
                                        schrieb am zuletzt editiert von
                                        #57

                                        @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                        @urknall Mit Daten.

                                        Bildschirmfoto 2022-07-23 um 19.43.58.png

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • U Urknall

                                          @mcu sagte in HowTo: Zusatz-Programme fuer jarvis v3:

                                          @urknall Mit Daten.

                                          Bildschirmfoto 2022-07-23 um 19.43.58.png

                                          M Online
                                          M Online
                                          MCU
                                          schrieb am zuletzt editiert von
                                          #58

                                          @urknall Du hast jarvis nicht parallel in der Konfiguration offen, wenn du das Programm startest?

                                          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                          U 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

                                          862

                                          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