Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Material Design Widgets: Skript Status

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Material Design Widgets: Skript Status

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

      @Scrounger

      Leider bricht mein System zusammen , sobald ich das Skript starte .

      Ein haufen Warnmeldungen kommen regelmäßig .. die Tabelle wird träge gefüllt
      und wenn man im VIS EDITOR ist auf der View , bricht das System auch zusammen .
      Das Umschalten ist auch sehr träge bzw . funktioniert nicht .

      Habe schon alles versucht , finde aber kein Fehler .

      Auszug :

      1.JPG

      Da kommen Ordner , die kenne ich gar nicht :

      2.JPG

      Hier nach Zeit x , aber danach ist nichts mehr möglich , muß das Skript stoppen !
      .
      4.JPG

      Scrounger 1 Reply Last reply Reply Quote 0
      • Scrounger
        Scrounger Developer @Glasfaser last edited by Scrounger

        @Glasfaser

        Test mal bitte das skript:

        const moment = require("moment");
        
        // Skript Einstellungen *************************************************************************************************************************************************
        
        let dpList = '0_userdata.0.vis.SkriptStatus.jsonList';                      // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
        let dpskriptRestart = '0_userdata.0.vis.SkriptStatus.restart';              // Datenpunkt für Skript restart (Typ: Zeichenkette (String))
        
        let dpSortMode = '0_userdata.0.vis.SkriptStatus.sortMode';                  // Datenpunkt für Sortieren (Typ: Zeichenkette (String))
        let dpFilterMode = '0_userdata.0.vis.SkriptStatus.filterMode';              // Datenpunkt für Filter (Typ: Zeichenkette (String))
        
        const checkInterval = 30;                                                   // Interval wie oft Status der Skripte aktualisiert werden soll (in Sekunden)
        
        let sprache = 'de';                                                         // Sprache für formatierung letzte Änderung
        let formatierungLastChange = "ddd DD.MM - HH:mm";                           // Formatierung letzte Änderung -> siehe momentjs library
        
        let neustarten = true;                                                      // true: Skript wird neugestartet, false: Skript wird gestoppt oder gestartet
        
        let farbeSkriptAktiv = 'green';                                             // Status Bar Farbe wenn Skript aktiv ist
        let farbeSkriptDeaktiviert = 'darkgrey';                                    // Status Bar Farbe wenn Skript deaktiviert ist
        let farbeSkriptProblem = 'FireBrick';                                       // Status Bar Farbe wenn Skript Problem hat
        
        let sortResetAfter = 120;                                                   // Sortierung nach X Sekunden auf sortReset zurücksetzen (0=deaktiviert)
        let sortReset = 'name'                                                      // Sortierung auf die zurückgesetzt werden soll
        
        let filterResetAfter = 120;                                                 // Filter nach X Sekunden zurücksetzen (0=deaktiviert)
        
        // **********************************************************************************************************************************************************************
        
        // Fomate für moment Lib
        moment.locale(sprache);
        
        // auf Änderungen aktiver Skripts hören
        let enableSelector = `[id=javascript.*.scriptEnabled.*]`;
        let skriptEnableList = $(enableSelector);
        if (skriptEnableList.length === 0) {
            // Fehlermeldung ausgeben, wenn selector kein result liefert
            console.error(`no result for selector '${enableSelector}'`)
        } else {
            // listener nur für Änderung bei alive
            skriptEnableList.on(skriptStatus);
        }
        
        // auf Änderungen Skripts mit Problemen hören
        let problemSelector = `[id=javascript.*.scriptProblem.*]`;
        let skriptProblemList = $(problemSelector);
        if (skriptProblemList.length === 0) {
            // Fehlermeldung ausgeben, wenn selector kein result liefert
            console.error(`no result for selector '${problemSelector}'`)
        } else {
            // listener nur für Änderung bei alive
            skriptProblemList.on(skriptStatus);
        }
        
        
        // auf Änderungen der Sortieung hören
        on({ id: dpSortMode, change: 'any' }, skriptStatus);
        on({ id: dpSortMode, change: 'any' }, resetSort);
        
        // auf Änderungen der Filter hören
        on({ id: dpFilterMode, change: 'any' }, skriptStatus);
        on({ id: dpFilterMode, change: 'any' }, resetFilter);
        
        
        // Funktion adapterStatus alle x Sekunden ausführen
        schedule('*/' + checkInterval + ' * * * * *', skriptStatus);
        
        function skriptStatus() {
            try {
                skriptList = [];
        
                for (var i = 0; i <= skriptEnableList.length - 1; i++) {
                    let id = skriptEnableList[i];
                    let obj = getObject(id);
        
                    let scriptObj = undefined;
                    let scriptName = '';
                    let engineType = '';
                    let lastChangeText = '';
                    let lastChange = 0;
                    let image = 'image-off-outline';
                    let imageColor = '';
                    let statusBarColor = farbeSkriptDeaktiviert;
                    let status = 1;
        
        
                    if (obj && obj !== null && obj.native && obj.native.script) {
                        scriptObj = getObject(obj.native.script);
        
                        if (scriptObj && scriptObj.common) {
                            if (scriptObj.common.name) {
                                scriptName = scriptObj.common.name;
                            }
        
                            if (scriptObj.common.engineType) {
                                engineType = scriptObj.common.engineType.replace('/js', '').replace('/ts', '');
        
                                if (engineType.toLowerCase() === 'Javascript'.toLowerCase()) {
                                    image = 'language-javascript';
                                    imageColor = '#ffca28';
                                } else if (engineType.toLowerCase() === 'TypeScript'.toLowerCase()) {
                                    image = 'language-typescript';
                                    imageColor = '#007acc';
                                } else if (engineType.toLowerCase() === 'Blockly'.toLowerCase()) {
                                    image = 'puzzle';
                                    imageColor = '#5a80a6';
                                }
                            }
        
                            if (scriptObj.ts) {
                                lastChange = scriptObj.ts;
                                lastChangeText = moment(scriptObj.ts).format(formatierungLastChange);
                            }
        
                            if (scriptObj.common.enabled) {
                                statusBarColor = farbeSkriptAktiv;
                                status = 0;
                            }
        
                            if (myHelper().getStateValueIfExist(id) === 'true') {
                                statusBarColor = farbeSkriptAktiv;
                                status = 0;
                            }
                
                            if (myHelper().getStateValueIfExist(id.replace('.scriptEnabled.', '.scriptProblem.'), false) === 'true') {
                                statusBarColor = farbeSkriptProblem;
                                status = 2;
                            }
                
                            let folder = '-';
                            let folderList = id.replace('javascript.0.scriptEnabled.').split(".");
                            if (folderList.length > 1) {
                                folder = id.replace('javascript.0.scriptEnabled.', '').replace('.' + folderList[folderList.length - 1], '');
                            }
                
                            let text = scriptName;
                            if (status === 2) {
                                text = `<span class="mdi mdi-alert-box-outline" style="color: #ec0909;"></span> ${scriptName}`
                            }
                
                            let subText = `<div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                                                <div style="flex: 1;">Sprache</div>
                                                <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${engineType}</div>
                                            </div>
                                            <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px; align-items: center;">
                                                <div style="flex: 1;">letzte Änderung</div>
                                                <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-align: right;">${lastChangeText}</div>
                                            </div>
                                            <div style="display: flex; flex-direction: row; line-height: 1.3; padding-left: 1px; padding-right: 8px;">
                                                <div style="flex: 1;">Ordner</div>
                                                <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic; text-overflow: ellipsis; white-space: normal; text-align: right;">${folder}</div>
                                            </div>`
                
                            skriptList.push({
                                text: text,
                                subText: subText,
                                statusBarColor: statusBarColor,
                                image: image,
                                imageColor: imageColor,
                                listType: "buttonState",
                                objectId: dpskriptRestart,
                                buttonStateValue: (obj && obj !== null && obj.native && obj.native.script) ? obj.native.script : '',
                                showValueLabel: false,
                                name: scriptName,
                                lastChange: lastChange,
                                status: status,
                                folder: folder
                            });
                        }
                    }
                }
        
                let sortMode = myHelper().getStateValueIfExist(dpSortMode, 'name');
        
                if (sortMode === 'name') {
                    skriptList.sort(function (a, b) {
                        return a[sortMode].toLowerCase() == b[sortMode].toLowerCase() ? 0 : +(a[sortMode].toLowerCase() > b[sortMode].toLowerCase()) || -1;
                    });
                } else if (sortMode === 'lastChange' || sortMode === 'status' || sortMode === 'folder') {
                    skriptList.sort(function (a, b) {
                        return a[sortMode] == b[sortMode] ? 0 : +(a[sortMode] < b[sortMode]) || -1;
                    });
                } else {
                    // default: nach name sortieren
                    sortMode = 'name'
                    skriptList.sort(function (a, b) {
                        return a[sortMode].toLowerCase() == b[sortMode].toLowerCase() ? 0 : +(a[sortMode].toLowerCase() > b[sortMode].toLowerCase()) || -1;
                    });
                }
        
        
                let filterMode = myHelper().getStateValueIfExist(dpFilterMode, null);
        
                if (filterMode && filterMode !== null && filterMode !== '') {
                    if (filterMode === 'error') {
                        skriptList = skriptList.filter(function (item) {
                            return item.status === 2;
                        });
                    } else if (filterMode === 'deactivated') {
                        skriptList = skriptList.filter(function (item) {
                            return item.status === 1;
                        });
                    } else if (filterMode === 'activated') {
                        skriptList = skriptList.filter(function (item) {
                            return item.status === 0;
                        });
                    }
                }
        
        
                let result = JSON.stringify(skriptList);
                if (getState(dpList) !== result) {
                    setState(dpList, result, true);
                }
        
            } catch (err) {
                console.error(`[skriptStatus] error: ${err.message}, stack: ${err.stack}`);
            }
        }
        
        
        // // Funktion um Skript starten / Stoppen
        on({ id: dpskriptRestart }, function (obj) {
            var scriptObj = getObject(obj.state.val.toString());
        
            if (neustarten) {
                scriptObj.common.enabled = true;
                setObject(obj.state.val.toString(), scriptObj);
            }
            else {
                if (scriptObj && scriptObj.common) {
        
                    if (scriptObj.common.enabled) {
                        scriptObj.common.enabled = false;
                    } else {
                        scriptObj.common.enabled = true;
                    }
        
                    setObject(obj.state.val.toString(), scriptObj);
                }
            }
        });
        
        function resetSort() {
            let sortMode = myHelper().getStateValueIfExist(dpSortMode, null);
        
            if (sortResetAfter > 0) {
                setTimeout(function () {
                    if (sortMode !== null && sortMode === myHelper().getStateValueIfExist(dpSortMode, null)) {
                        setState(dpSortMode, sortReset);
                    }
                }, sortResetAfter * 1000);
            }
        }
        
        function resetFilter() {
            let filterMode = myHelper().getStateValueIfExist(dpFilterMode, null);
        
            if (filterResetAfter > 0) {
                setTimeout(function () {
                    if (filterMode !== null && filterMode === myHelper().getStateValueIfExist(dpFilterMode, null)) {
                        setState(dpFilterMode, '');
                    }
                }, filterResetAfter * 1000);
            }
        }
        
        // Beim Staren des Skriptes Adapter Status abrufen
        skriptStatus();
        
        function myHelper() {
            return {
                getStateValueIfExist: function (id, nullValue = undefined, prepand = '', append = '') {
                    if (existsState(id)) {
                        return prepand + getState(id).val + append;
                    } else {
                        return nullValue;
                    }
                },
                getCommonPropertyIfExist: function (object, prop, nullValue = undefined, prepand = '', append = '') {
                    if (myHelper().checkCommonPropertyExist(object, prop)) {
                        return prepand + object.common[prop] + append;
                    } else {
                        return nullValue;
                    }
                },
                checkCommonPropertyExist: function (object, prop) {
                    if (object && object.common && object.common[prop]) {
                        return true;
                    } else {
                        return false;
                    }
                }
            }
        }
        
        
        Glasfaser 1 Reply Last reply Reply Quote 0
        • Glasfaser
          Glasfaser @Scrounger last edited by

          @Scrounger
          Keine Meldungen im LOG , aber genauso träge .. mußte gerade Neustarte .
          Keine Ahnung was das ist , sonst funktionieren alle anderen Skripts von dir !!

          Hier das Ergebnis , auf umschalten Reagiert es auch nicht .

          1.JPG

          2.JPG

          1 Reply Last reply Reply Quote 0
          • ub.privat
            ub.privat @Scrounger last edited by ub.privat

            @Scrounger

            JA, habe ich. Probiere nochmal das Script, was Du @Glasfaser gesendet hast.

            Wird nicht besser:

            4.3.2020, 18:34:46.230	[info ]: javascript.0 (17282) Stop script script.js.ScriptStatus_MaterialDesignWidget
            4.3.2020, 18:34:46.385	[info ]: javascript.0 (17282) Start javascript script.js.ScriptStatus_MaterialDesignWidget
            4.3.2020, 18:34:46.485	[warn ]: javascript.0 (17282)     at skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:34:46.486	[warn ]: javascript.0 (17282)     at script.js.ScriptStatus_MaterialDesignWidget:268:1
            4.3.2020, 18:34:46.486	[warn ]: javascript.0 (17282)     at skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:34:46.487	[warn ]: javascript.0 (17282)     at script.js.ScriptStatus_MaterialDesignWidget:268:1
            4.3.2020, 18:34:46.487	[info ]: javascript.0 (17282) script.js.ScriptStatus_MaterialDesignWidget: registered 31 subscriptions and 1 schedule
            4.3.2020, 18:35:00.020	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:35:00.023	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:35:30.330	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:35:30.336	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:36:00.062	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:36:00.065	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:36:30.223	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:36:30.227	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:37:00.080	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:37:00.088	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:37:30.314	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:37:30.319	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:38:00.039	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:38:00.041	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:38:30.248	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:38:30.254	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:39:00.044	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:39:00.048	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:39:30.330	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:39:30.336	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:40:00.047	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:40:00.051	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            4.3.2020, 18:40:30.276	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
            4.3.2020, 18:40:30.282	[warn ]: javascript.0 (17282)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
            

            Trage ich in den DP jsonList einen beliebigen Wert ein, dann geht im Widget die Fehlermeldung weg. Jedoch keine Spur von Scriptanzeige im View....
            a2c4d479-1d4c-48c5-87fb-c4106c3516ea-grafik.png

            1 Reply Last reply Reply Quote 0
            • Glasfaser
              Glasfaser @ub.privat last edited by Glasfaser

              @ub-privat

              Hier die DP's

              13504f39-cd78-4a9f-8505-9e7b71ccb570-grafik.png
              Leider ohne Werte????

              deine Datenpunkte bei "Script" mit c geschrieben

              0_userdata.0.vis.ScriptStatus.
              

              die vom Scrounger Skript sind mit k geschrieben :

              0_userdata.0.vis.SkriptStatus.
              

              Hast du es auch im Skript geändert !!?

              ub.privat 1 Reply Last reply Reply Quote 0
              • Scrounger
                Scrounger Developer last edited by Scrounger

                Hab noch einen kleinen Fehler gefunden und das skript in Post 1 aktualisiert.

                @ub-privat
                Laut Fehlermeldung gibt es den Datenpunkt nicht, prüf nochmal die DPs im Skript, so wie @Glasfaser schreibt.

                Glasfaser 1 Reply Last reply Reply Quote 0
                • Glasfaser
                  Glasfaser @Scrounger last edited by

                  @Scrounger

                  Das neue Skript eingefügt und gestartet .

                  Wieder LOG Warnmeldungen und der Javascript Adapter bricht zusammen .

                  Dann startet der Javascript neu und das LOG wird von Warnmeldungen überflutet !!

                  muß das Skript stoppen sonst läuft mein System nicht mehr .

                  1.JPG

                  Scrounger 1 Reply Last reply Reply Quote 0
                  • Scrounger
                    Scrounger Developer @Glasfaser last edited by Scrounger

                    @Glasfaser

                    Prüf mal ob die Skripte die in den Warn Meldungen stehen überhaupt existieren.
                    Hatte auch mal so ein Problem, dass in der objects.json noch alte skripte existierten.

                    Lösung dafür wäre, die skripte mit exakt dem gleichen namen im gleichen Ordner nochmal zu erstellen, starten und dann löschen. Anschließend den Javascript Adapter neustarten.

                    Glasfaser 2 Replies Last reply Reply Quote 0
                    • Glasfaser
                      Glasfaser @Scrounger last edited by

                      @Scrounger

                      Danke ..... 🤔

                      Jipp... 320 Script Leichen 😕

                      Habe ein Thread aufgemacht , da sie nicht gelöscht werden können .

                      Script Leichen in objects.json können nicht gelöscht werden

                      1 Reply Last reply Reply Quote 0
                      • ub.privat
                        ub.privat @Glasfaser last edited by

                        @Glasfaser
                        @Scrounger

                        Jupps, das wars! Und schon wieder hat ein kleines "c" so eine Auswirkung...

                        DANKE!!!👍 👍

                        1 Reply Last reply Reply Quote 0
                        • Glasfaser
                          Glasfaser @Scrounger last edited by Glasfaser

                          @Scrounger

                          So alle 320 Script Leichen sind weg ...

                          Ich habe das aktuelle Skript vom 04.03 genommen .

                          So sieht es dann aus , es Fehler viele Werte bzw. Karte hinter Karte aufgebaut in der Ansicht :

                          1.JPG

                          Keine Fehlermeldung in LOG , er aktualisiert auch alle Datenpunkte

                          O Scrounger 2 Replies Last reply Reply Quote 0
                          • O
                            Oli @Glasfaser last edited by

                            @Glasfaser

                            da sind die Namen von den Scripten zu lang, war bei mir auch, Namen ändern, oder kleinere Schriftgröße sollte helfen.

                            1 Reply Last reply Reply Quote 1
                            • Scrounger
                              Scrounger Developer @Glasfaser last edited by

                              @Glasfaser sagte in Material Design Widgets: Skript Status:

                              @Scrounger

                              So alle 320 Script Leichen sind weg ...

                              Ich habe das aktuelle Skript vom 04.03 genommen .

                              So sieht es dann aus , es Fehler viele Werte bzw. Karte hinter Karte aufgebaut in der Ansicht :

                              1.JPG

                              Keine Fehlermeldung in LOG , er aktualisiert auch alle Datenpunkte

                              Hier hab ich beschrieben, wie man das layout am besten einstellt:
                              https://forum.iobroker.net/topic/30661/material-design-widgets-adapter-status/6

                              Glasfaser 1 Reply Last reply Reply Quote 1
                              • Glasfaser
                                Glasfaser @Scrounger last edited by

                                DANKE @Oli für den Tip mit der länge der Namen , das war schonmal eins 👍
                                .
                                DANKE @Scrounger für den Link ... hat dann super geklappt , noch ein paar Kleinigkeiten mache ich später 👍

                                .
                                1.jpg

                                1 Reply Last reply Reply Quote 0
                                • K
                                  klaus88 last edited by

                                  Hallo,
                                  erstmal Danke für das Script und das Widget - SUPER ARBEIT!

                                  Eine Frage: Ich schaffe es nicht die Bilder hineinzubekommen - wie bringt ihr die Bilder (Javascript, Pfeil oben beim Select usw..) rein? Ladet ihr jedes Icon einzel rein - falls ja - wohin?

                                  Danke für die Hilfe
                                  Klaus

                                  Glasfaser Negalein 2 Replies Last reply Reply Quote 0
                                  • Glasfaser
                                    Glasfaser @klaus88 last edited by

                                    @klaus88 sagte in Material Design Widgets: Skript Status:

                                    Ladet ihr jedes Icon einzel rein - falls ja - wohin?

                                    Keine Ahnung was du meinst !?

                                    Zeige mal ein Screenshot was bei dir fehlt !

                                    K 1 Reply Last reply Reply Quote 0
                                    • Negalein
                                      Negalein Global Moderator @klaus88 last edited by Negalein

                                      @klaus88 sagte in Material Design Widgets: Skript Status:

                                      wie bringt ihr die Bilder (Javascript, Pfeil oben beim Select usw..) rein?

                                      Pfeil beim Select ist fix im Widget eingebunden.

                                      Symbole für Javascript, Typescript oder Blockly sind im Script hinterlegt.

                                       if (engineType.toLowerCase() === 'Javascript'.toLowerCase()) {
                                                                  image = 'language-javascript';
                                                                  imageColor = '#ffca28';
                                                              } else if (engineType.toLowerCase() === 'TypeScript'.toLowerCase()) {
                                                                  image = 'language-typescript';
                                                                  imageColor = '#007acc';
                                                              } else if (engineType.toLowerCase() === 'Blockly'.toLowerCase()) {
                                                                  image = 'puzzle';
                                                                  imageColor = '#5a80a6';
                                      

                                      Das müsste alles 1:1 funktionieren.

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        klaus88 @Glasfaser last edited by klaus88

                                        @Glasfaser

                                        Hallo

                                        Anbei ein Ausschnitt - aber natürlich schaut es bei allen Scripts so aus!
                                        ScriptForum.jpg

                                        lg
                                        Klaus

                                        Glasfaser 1 Reply Last reply Reply Quote 0
                                        • Glasfaser
                                          Glasfaser @klaus88 last edited by

                                          @klaus88

                                          Installiere mal bitte die aktuelle Version vom Adapter und nochmal ein upload danach machen ,

                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            klaus88 @Glasfaser last edited by klaus88

                                            @Glasfaser
                                            nur damit ich dich richtig verstehe --> Adapter neu installieren meinst du den Material Design Widgets (derzeit Version 0.2.66) .
                                            --> Adapter neu installiert und danach ein Upload gemacht - keine Änderung

                                            Danke
                                            Klaus

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            869
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter iconlist material design widgets statusanzeige view view adapter vis
                                            13
                                            56
                                            10942
                                            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