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. Praktische Anwendungen (Showcase)
  4. Material Design Widgets: Skript Status

NEWS

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

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

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

Material Design Widgets: Skript Status

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
material design widgetsvisiconlistviewview adapteradapterstatusanzeige
56 Beiträge 13 Kommentatoren 12.9k Aufrufe 29 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.
  • ub.privatU ub.privat

    @Scrounger

    Hallo Scrounger,

    in der javasript-Adaptereinstellung, ist der Dateipfad "Spiegeln von Scripten in Dateipfad" willkürlich gewählt? (D:\iobroker\devBroker\scripts)
    Oder ist es ein fest definiert Pfad? Auf meinem RP4 ist dieser nicht vorhanden.
    Er ist sicherlich anzulegen???

    Daher kommt bestimmt auch meine Warnmeldung im Script:

    3.3.2020, 19:09:30.235	[warn ]: javascript.0 (13979)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
    3.3.2020, 19:09:30.240	[warn ]: javascript.0 (13979)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
    3.3.2020, 19:09:41.022	[info ]: javascript.0 (13979) Stop script script.js.ScriptStatus_MaterialDesignWidget
    3.3.2020, 19:09:41.175	[info ]: javascript.0 (13979) Start javascript script.js.ScriptStatus_MaterialDesignWidget
    3.3.2020, 19:09:41.217	[warn ]: javascript.0 (13979)     at skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
    3.3.2020, 19:09:41.217	[warn ]: javascript.0 (13979)     at script.js.ScriptStatus_MaterialDesignWidget:268:1
    3.3.2020, 19:09:41.219	[warn ]: javascript.0 (13979)     at skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
    3.3.2020, 19:09:41.219	[warn ]: javascript.0 (13979)     at script.js.ScriptStatus_MaterialDesignWidget:268:1
    3.3.2020, 19:09:41.219	[info ]: javascript.0 (13979) script.js.ScriptStatus_MaterialDesignWidget: registered 34 subscriptions and 1 schedule
    

    04af3732-20cc-4856-b391-08eec326d270-grafik.png

    Hoffe nicht, dass es wieder "Schreibfehler" sind... :face_with_rolling_eyes: :confounded:

    Hier die DP's

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

    ScroungerS Offline
    ScroungerS Offline
    Scrounger
    Developer
    schrieb am zuletzt editiert von
    #5

    @ub-privat
    Schreib Mal irgend einen Wert in dentanepumkt jsonList, dann müsste es gehen.

    <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

    <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

    ub.privatU 1 Antwort Letzte Antwort
    0
    • ScroungerS Scrounger

      @ub-privat
      Schreib Mal irgend einen Wert in dentanepumkt jsonList, dann müsste es gehen.

      ub.privatU Offline
      ub.privatU Offline
      ub.privat
      schrieb am zuletzt editiert von ub.privat
      #6

      @Scrounger

      geschrieben und getan.
      Hab mal "100" eingetragen, ist ja irgendein Wert, aber so wirklich tut sich nichts. Leider...

      Scripte laufen aber:
      c3dacb8a-0320-4555-ad01-2ab462c05729-grafik.png

      ScroungerS 1 Antwort Letzte Antwort
      0
      • ub.privatU ub.privat

        @Scrounger

        geschrieben und getan.
        Hab mal "100" eingetragen, ist ja irgendein Wert, aber so wirklich tut sich nichts. Leider...

        Scripte laufen aber:
        c3dacb8a-0320-4555-ad01-2ab462c05729-grafik.png

        ScroungerS Offline
        ScroungerS Offline
        Scrounger
        Developer
        schrieb am zuletzt editiert von
        #7

        @ub-privat
        Skript hast du danach neugestartet?

        <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

        <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

        GlasfaserG ub.privatU 2 Antworten Letzte Antwort
        0
        • ScroungerS Scrounger

          @ub-privat
          Skript hast du danach neugestartet?

          GlasfaserG Offline
          GlasfaserG Offline
          Glasfaser
          schrieb am zuletzt editiert von Glasfaser
          #8

          @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

          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

          ScroungerS 1 Antwort Letzte Antwort
          0
          • GlasfaserG 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

            ScroungerS Offline
            ScroungerS Offline
            Scrounger
            Developer
            schrieb am zuletzt editiert von Scrounger
            #9

            @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;
                        }
                    }
                }
            }
            
            

            <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

            <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

            GlasfaserG 1 Antwort Letzte Antwort
            0
            • ScroungerS 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;
                          }
                      }
                  }
              }
              
              
              GlasfaserG Offline
              GlasfaserG Offline
              Glasfaser
              schrieb am zuletzt editiert von
              #10

              @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

              Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

              1 Antwort Letzte Antwort
              0
              • ScroungerS Scrounger

                @ub-privat
                Skript hast du danach neugestartet?

                ub.privatU Offline
                ub.privatU Offline
                ub.privat
                schrieb am zuletzt editiert von ub.privat
                #11

                @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 Antwort Letzte Antwort
                0
                • ub.privatU ub.privat

                  @Scrounger

                  Hallo Scrounger,

                  in der javasript-Adaptereinstellung, ist der Dateipfad "Spiegeln von Scripten in Dateipfad" willkürlich gewählt? (D:\iobroker\devBroker\scripts)
                  Oder ist es ein fest definiert Pfad? Auf meinem RP4 ist dieser nicht vorhanden.
                  Er ist sicherlich anzulegen???

                  Daher kommt bestimmt auch meine Warnmeldung im Script:

                  3.3.2020, 19:09:30.235	[warn ]: javascript.0 (13979)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
                  3.3.2020, 19:09:30.240	[warn ]: javascript.0 (13979)     at Object.skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
                  3.3.2020, 19:09:41.022	[info ]: javascript.0 (13979) Stop script script.js.ScriptStatus_MaterialDesignWidget
                  3.3.2020, 19:09:41.175	[info ]: javascript.0 (13979) Start javascript script.js.ScriptStatus_MaterialDesignWidget
                  3.3.2020, 19:09:41.217	[warn ]: javascript.0 (13979)     at skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:211:13)
                  3.3.2020, 19:09:41.217	[warn ]: javascript.0 (13979)     at script.js.ScriptStatus_MaterialDesignWidget:268:1
                  3.3.2020, 19:09:41.219	[warn ]: javascript.0 (13979)     at skriptStatus (script.js.ScriptStatus_MaterialDesignWidget:212:13)
                  3.3.2020, 19:09:41.219	[warn ]: javascript.0 (13979)     at script.js.ScriptStatus_MaterialDesignWidget:268:1
                  3.3.2020, 19:09:41.219	[info ]: javascript.0 (13979) script.js.ScriptStatus_MaterialDesignWidget: registered 34 subscriptions and 1 schedule
                  

                  04af3732-20cc-4856-b391-08eec326d270-grafik.png

                  Hoffe nicht, dass es wieder "Schreibfehler" sind... :face_with_rolling_eyes: :confounded:

                  Hier die DP's

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

                  GlasfaserG Offline
                  GlasfaserG Offline
                  Glasfaser
                  schrieb am zuletzt editiert von Glasfaser
                  #12

                  @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 !!?

                  Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                  ub.privatU 1 Antwort Letzte Antwort
                  0
                  • ScroungerS Offline
                    ScroungerS Offline
                    Scrounger
                    Developer
                    schrieb am zuletzt editiert von Scrounger
                    #13

                    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.

                    <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                    <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                    GlasfaserG 1 Antwort Letzte Antwort
                    0
                    • ScroungerS 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.

                      GlasfaserG Offline
                      GlasfaserG Offline
                      Glasfaser
                      schrieb am zuletzt editiert von
                      #14

                      @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

                      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                      ScroungerS 1 Antwort Letzte Antwort
                      0
                      • GlasfaserG Glasfaser

                        @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

                        ScroungerS Offline
                        ScroungerS Offline
                        Scrounger
                        Developer
                        schrieb am zuletzt editiert von Scrounger
                        #15

                        @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.

                        <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                        <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                        GlasfaserG 2 Antworten Letzte Antwort
                        0
                        • ScroungerS 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.

                          GlasfaserG Offline
                          GlasfaserG Offline
                          Glasfaser
                          schrieb am zuletzt editiert von
                          #16

                          @Scrounger

                          Danke ..... :thinking_face:

                          Jipp... 320 Script Leichen :confused:

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

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

                          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                          1 Antwort Letzte Antwort
                          0
                          • GlasfaserG 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.privatU Offline
                            ub.privatU Offline
                            ub.privat
                            schrieb am zuletzt editiert von
                            #17

                            @Glasfaser
                            @Scrounger

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

                            DANKE!!!:+1: :+1:

                            1 Antwort Letzte Antwort
                            0
                            • ScroungerS 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.

                              GlasfaserG Offline
                              GlasfaserG Offline
                              Glasfaser
                              schrieb am zuletzt editiert von Glasfaser
                              #18

                              @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

                              Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                              O ScroungerS 2 Antworten Letzte Antwort
                              0
                              • GlasfaserG 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 Offline
                                O Offline
                                Oli
                                schrieb am zuletzt editiert von
                                #19

                                @Glasfaser

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

                                Gruß
                                Oliver

                                1 Antwort Letzte Antwort
                                1
                                • GlasfaserG 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

                                  ScroungerS Offline
                                  ScroungerS Offline
                                  Scrounger
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #20

                                  @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

                                  <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                                  <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                                  GlasfaserG 1 Antwort Letzte Antwort
                                  1
                                  • ScroungerS Scrounger

                                    @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

                                    GlasfaserG Offline
                                    GlasfaserG Offline
                                    Glasfaser
                                    schrieb am zuletzt editiert von
                                    #21

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

                                    .
                                    1.jpg

                                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                    1 Antwort Letzte Antwort
                                    0
                                    • K Offline
                                      K Offline
                                      klaus88
                                      schrieb am zuletzt editiert von
                                      #22

                                      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

                                      GlasfaserG NegaleinN 2 Antworten Letzte Antwort
                                      0
                                      • K klaus88

                                        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

                                        GlasfaserG Offline
                                        GlasfaserG Offline
                                        Glasfaser
                                        schrieb am zuletzt editiert von
                                        #23

                                        @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 !

                                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                        K 1 Antwort Letzte Antwort
                                        0
                                        • K klaus88

                                          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

                                          NegaleinN Offline
                                          NegaleinN Offline
                                          Negalein
                                          Global Moderator
                                          schrieb am zuletzt editiert von Negalein
                                          #24

                                          @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.

                                          ° Node.js: 20.17.0 NPM: 10.8.2
                                          ° Proxmox, Ubuntu 22.04.3 LTS
                                          ° Fixer ---> iob fix

                                          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

                                          469

                                          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