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. View Adapter Status

NEWS

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

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

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

View Adapter Status

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
view adapterview
212 Beiträge 31 Kommentatoren 37.1k Aufrufe 52 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.
  • ScroungerS Offline
    ScroungerS Offline
    Scrounger
    Developer
    schrieb am zuletzt editiert von Scrounger
    #109

    Musst mir jetzt erstmal den proxy adapter installieren, damit ich auch mal eure fehlermeldungen sehe.

    // Imports -> müssen im Javascript Adapter unter 'Zusätzliche NPM-Module' eingetragen sein
    const moment = require("moment");
    const momentDurationFormatSetup = require("moment-duration-format");
    
    
    // Skript Einstellungen *************************************************************************************************************************************************
    
    let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';                     // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
    let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';     // Datenpunkt für Adapter restart (Typ: Zeichenkette (String))
    
    let adminUpdatesList = 'admin.0.info.updatesList'                           // Datenpunkt Admin Adapter für verfübare Updates der Adapter
    
    const checkInterval = 30;                                                   // Interval wie oft Status der Adapter aktualisiert werden soll (in Sekunden)
    
    let sprache = 'de';                                                         // Sprache für formatierung Dauer 
    let formatierungDauer = "dd[T] hh[h] mm[m]"                                 // Formatierung der Dauer -> siehe momentjs library
    
    let neustarten = true;                                                      // true: Adapter wird neugestartet, false: Adapter wird gestoppt oder gestartet
    
    let farbeAdapterAktiv = 'green';                                            // Status Bar Farbe wenn Adapter aktiv ist
    let farbeAdapterNichtAktiv = 'FireBrick';                                   // Status Bar Farbe wenn Adapter nicht aktiv ist oder Fehler vorliegt
    let farbeAdapterDeaktiviert = 'darkgrey';                                   // Status Bar Farbe wenn Adapter deaktiviert ist
    let farbeAdapterNichtVerbunden = 'yellow';                                  // Status Bar Farbe wenn Adapter nicht verbunden ist
    let farbeAdapterZeitgesteuert = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
    
    // **********************************************************************************************************************************************************************
    
    
    
    // Fomate für moment Lib
    moment.locale(sprache);
    
    // auf .alive Änderungen hören
    let aliveSelector = `[id=system.adapter.*.alive]`;
    let adapterAliveList = $(aliveSelector);
    if (adapterAliveList.length === 0) {
        // Fehlermeldung ausgeben, wenn selector kein result liefert
        console.error(`no result for selector '${aliveSelector}'`)
    } else {
        // listener nur für Änderung bei alive
        adapterAliveList.on(adapterStatus);
    }
    
    // auf .connected Änderungen hören
    let connectedSelector = `[id=*.info.connection]`;
    let adapterConnectedList = $(connectedSelector);
    if (adapterConnectedList.length === 0) {
        // Fehlermeldung ausgeben, wenn selector kein result liefert
        console.error(`no result for selector '${connectedSelector}'`)
    } else {
        // listener nur für Änderung bei alive
        adapterConnectedList.on(adapterStatus);
    }
    
    // Funktion adapterStatus alle x Sekunden ausführen
    schedule('*/' + checkInterval + ' * * * * *', adapterStatus);
    
    function adapterStatus() {
        // Funktion um Status der Adapter abzurufen und als JSON String für das Material Design Widget IconList aufbereiten
        let adapterList = [];
        let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
    
        try {
            for (var i = 0; i <= adapterAliveList.length - 1; i++) {
                let id = adapterAliveList[i].replace('.alive', '');
                let obj = getObject(adapterAliveList[i].replace('.alive', ''));
    
                let nameArray = id.replace('system.adapter.', '').split(".");
    
                let name = nameArray[0];
                name = name.charAt(0).toUpperCase() + name.slice(1);
    
                let nameWithInstance = name;
                let adapterInstance = nameArray[1];
                if (parseInt(adapterInstance) > 0) {
                    nameWithInstance = name + '.' + adapterInstance;
                }
    
                let uptime = (existsState(id + '.uptime')) ? moment.duration(getState(id + '.uptime').val, 'seconds').format(formatierungDauer, 0) : '-';
                let image = (myHelper().checkCommonPropertyExist(obj, 'icon')) ? `/${nameArray[0]}.admin/${obj.common.icon}` : 'image-off-outline';
                let newVersion = (updateList && updateList.includes(nameArray[0])) ? '<span class="mdi mdi-update" style="color: #ec0909;"></span>' : '';
    
                let text = `<div style="display: flex; flex-direction: row; line-height: 1.5; padding-right: 8px; align-items: center;">
                                <div style="flex: 1">${newVersion} ${nameWithInstance}</div>
                                <div style="color: grey; font-size: 12px; font-family: RobotoCondensed-LightItalic;">${myHelper().getCommonPropertyIfExist(obj, 'version', '-', 'v', '')}</div>
                            </div>`
    
                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">CPU</div>
                                    <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.cpu', '-', '', ' %')}</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">RAM total</div>
                                    <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memHeapTotal', '-', '', ' MB')}</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">RAM verwendet</div>
                                    <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memHeapUsed', '-', '', ' MB')}</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">RAM reserviert</div>
                                    <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memRss', '-', '', ' MB')}</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">Betriebszeit</div>
                                    <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${uptime}</div>
                                </div>`
    
                adapterList.push({
                    text: text,
                    subText: subText,
                    image: image,
                    listType: "buttonState",
                    objectId: dpAdapterRestart,
                    buttonStateValue: id,
                    statusBarColor: getStatusColor(),
                    showValueLabel: false,
                    name: name
                })
    
                function getStatusColor() {
                    let statusBarColor = farbeAdapterNichtAktiv;
    
                    if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                        statusBarColor = farbeAdapterAktiv;
    
                        if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                            if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                                statusBarColor = farbeAdapterNichtVerbunden;
                            }
                        } else {
                            if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                                statusBarColor = farbeAdapterNichtVerbunden;
                            }
                        }
                    }
            
                    if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                        // Adapter ist deaktiviert
                        statusBarColor = farbeAdapterDeaktiviert;
                    }
    
                    if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                        // Adapter ist zeitgesteuert
                        statusBarColor = farbeAdapterZeitgesteuert;
                    }
    
                    return statusBarColor;
                }
            }
    
        } catch (err) {
            console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
        }
    
        adapterList.sort(function (a, b) {
            return a.name == b.name ? 0 : +(a.name > b.name) || -1;
        });
    
        let result = JSON.stringify(adapterList);
        if (getState(dpList) !== result) {
            setState(dpList, result, true);
        }
    }
    
    // Beim Staren des Skriptes Adapter Status abrufen
    adapterStatus();
    
    // Funktion um Adapter zu starten / neu starten
    on({ id: dpAdapterRestart }, function (obj) {
        var adapter = getObject(obj.state.val.toString());
    
        if (neustarten) {
            if (adapter.common && adapter.common.enabled === false) {
                // Adapter deaktiviert -> starten
                adapter.common.enabled = true;
            }
        } else {
            if (adapter.common && adapter.common.enabled) {
                adapter.common.enabled = !adapter.common.enabled;
            } else {
                adapter.common.enabled = true;
            }
        }
    
        setObject(obj.state.val, adapter);
        console.log(`${obj.state.val.replace('system.adapter.', '')} neugestartet`);
    });
    
    
    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;
                }
            }
        }
    }
    

    @Negalein sagte in View Adapter Status:

    Derzeit wird nach senkrechten Spalten sortiert.

    Das wird doch genau so sortiert?

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

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

    NegaleinN O 2 Antworten Letzte Antwort
    0
    • ScroungerS Scrounger

      Musst mir jetzt erstmal den proxy adapter installieren, damit ich auch mal eure fehlermeldungen sehe.

      // Imports -> müssen im Javascript Adapter unter 'Zusätzliche NPM-Module' eingetragen sein
      const moment = require("moment");
      const momentDurationFormatSetup = require("moment-duration-format");
      
      
      // Skript Einstellungen *************************************************************************************************************************************************
      
      let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';                     // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
      let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';     // Datenpunkt für Adapter restart (Typ: Zeichenkette (String))
      
      let adminUpdatesList = 'admin.0.info.updatesList'                           // Datenpunkt Admin Adapter für verfübare Updates der Adapter
      
      const checkInterval = 30;                                                   // Interval wie oft Status der Adapter aktualisiert werden soll (in Sekunden)
      
      let sprache = 'de';                                                         // Sprache für formatierung Dauer 
      let formatierungDauer = "dd[T] hh[h] mm[m]"                                 // Formatierung der Dauer -> siehe momentjs library
      
      let neustarten = true;                                                      // true: Adapter wird neugestartet, false: Adapter wird gestoppt oder gestartet
      
      let farbeAdapterAktiv = 'green';                                            // Status Bar Farbe wenn Adapter aktiv ist
      let farbeAdapterNichtAktiv = 'FireBrick';                                   // Status Bar Farbe wenn Adapter nicht aktiv ist oder Fehler vorliegt
      let farbeAdapterDeaktiviert = 'darkgrey';                                   // Status Bar Farbe wenn Adapter deaktiviert ist
      let farbeAdapterNichtVerbunden = 'yellow';                                  // Status Bar Farbe wenn Adapter nicht verbunden ist
      let farbeAdapterZeitgesteuert = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
      
      // **********************************************************************************************************************************************************************
      
      
      
      // Fomate für moment Lib
      moment.locale(sprache);
      
      // auf .alive Änderungen hören
      let aliveSelector = `[id=system.adapter.*.alive]`;
      let adapterAliveList = $(aliveSelector);
      if (adapterAliveList.length === 0) {
          // Fehlermeldung ausgeben, wenn selector kein result liefert
          console.error(`no result for selector '${aliveSelector}'`)
      } else {
          // listener nur für Änderung bei alive
          adapterAliveList.on(adapterStatus);
      }
      
      // auf .connected Änderungen hören
      let connectedSelector = `[id=*.info.connection]`;
      let adapterConnectedList = $(connectedSelector);
      if (adapterConnectedList.length === 0) {
          // Fehlermeldung ausgeben, wenn selector kein result liefert
          console.error(`no result for selector '${connectedSelector}'`)
      } else {
          // listener nur für Änderung bei alive
          adapterConnectedList.on(adapterStatus);
      }
      
      // Funktion adapterStatus alle x Sekunden ausführen
      schedule('*/' + checkInterval + ' * * * * *', adapterStatus);
      
      function adapterStatus() {
          // Funktion um Status der Adapter abzurufen und als JSON String für das Material Design Widget IconList aufbereiten
          let adapterList = [];
          let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
      
          try {
              for (var i = 0; i <= adapterAliveList.length - 1; i++) {
                  let id = adapterAliveList[i].replace('.alive', '');
                  let obj = getObject(adapterAliveList[i].replace('.alive', ''));
      
                  let nameArray = id.replace('system.adapter.', '').split(".");
      
                  let name = nameArray[0];
                  name = name.charAt(0).toUpperCase() + name.slice(1);
      
                  let nameWithInstance = name;
                  let adapterInstance = nameArray[1];
                  if (parseInt(adapterInstance) > 0) {
                      nameWithInstance = name + '.' + adapterInstance;
                  }
      
                  let uptime = (existsState(id + '.uptime')) ? moment.duration(getState(id + '.uptime').val, 'seconds').format(formatierungDauer, 0) : '-';
                  let image = (myHelper().checkCommonPropertyExist(obj, 'icon')) ? `/${nameArray[0]}.admin/${obj.common.icon}` : 'image-off-outline';
                  let newVersion = (updateList && updateList.includes(nameArray[0])) ? '<span class="mdi mdi-update" style="color: #ec0909;"></span>' : '';
      
                  let text = `<div style="display: flex; flex-direction: row; line-height: 1.5; padding-right: 8px; align-items: center;">
                                  <div style="flex: 1">${newVersion} ${nameWithInstance}</div>
                                  <div style="color: grey; font-size: 12px; font-family: RobotoCondensed-LightItalic;">${myHelper().getCommonPropertyIfExist(obj, 'version', '-', 'v', '')}</div>
                              </div>`
      
                  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">CPU</div>
                                      <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.cpu', '-', '', ' %')}</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">RAM total</div>
                                      <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memHeapTotal', '-', '', ' MB')}</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">RAM verwendet</div>
                                      <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memHeapUsed', '-', '', ' MB')}</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">RAM reserviert</div>
                                      <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memRss', '-', '', ' MB')}</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">Betriebszeit</div>
                                      <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${uptime}</div>
                                  </div>`
      
                  adapterList.push({
                      text: text,
                      subText: subText,
                      image: image,
                      listType: "buttonState",
                      objectId: dpAdapterRestart,
                      buttonStateValue: id,
                      statusBarColor: getStatusColor(),
                      showValueLabel: false,
                      name: name
                  })
      
                  function getStatusColor() {
                      let statusBarColor = farbeAdapterNichtAktiv;
      
                      if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                          statusBarColor = farbeAdapterAktiv;
      
                          if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                              if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                                  statusBarColor = farbeAdapterNichtVerbunden;
                              }
                          } else {
                              if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                                  statusBarColor = farbeAdapterNichtVerbunden;
                              }
                          }
                      }
              
                      if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                          // Adapter ist deaktiviert
                          statusBarColor = farbeAdapterDeaktiviert;
                      }
      
                      if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                          // Adapter ist zeitgesteuert
                          statusBarColor = farbeAdapterZeitgesteuert;
                      }
      
                      return statusBarColor;
                  }
              }
      
          } catch (err) {
              console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
          }
      
          adapterList.sort(function (a, b) {
              return a.name == b.name ? 0 : +(a.name > b.name) || -1;
          });
      
          let result = JSON.stringify(adapterList);
          if (getState(dpList) !== result) {
              setState(dpList, result, true);
          }
      }
      
      // Beim Staren des Skriptes Adapter Status abrufen
      adapterStatus();
      
      // Funktion um Adapter zu starten / neu starten
      on({ id: dpAdapterRestart }, function (obj) {
          var adapter = getObject(obj.state.val.toString());
      
          if (neustarten) {
              if (adapter.common && adapter.common.enabled === false) {
                  // Adapter deaktiviert -> starten
                  adapter.common.enabled = true;
              }
          } else {
              if (adapter.common && adapter.common.enabled) {
                  adapter.common.enabled = !adapter.common.enabled;
              } else {
                  adapter.common.enabled = true;
              }
          }
      
          setObject(obj.state.val, adapter);
          console.log(`${obj.state.val.replace('system.adapter.', '')} neugestartet`);
      });
      
      
      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;
                  }
              }
          }
      }
      

      @Negalein sagte in View Adapter Status:

      Derzeit wird nach senkrechten Spalten sortiert.

      Das wird doch genau so sortiert?

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

      @Scrounger sagte in View Adapter Status:

      Das wird doch genau so sortiert?

      nicht immer


      vis (28).png


      vis (31).png

      Musst mir jetzt erstmal den proxy adapter installieren, damit ich auch mal eure fehlermeldungen sehe.

      Ist das Script eine neue Version?

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

      ScroungerS 1 Antwort Letzte Antwort
      0
      • NegaleinN Negalein

        @Scrounger sagte in View Adapter Status:

        Das wird doch genau so sortiert?

        nicht immer


        vis (28).png


        vis (31).png

        Musst mir jetzt erstmal den proxy adapter installieren, damit ich auch mal eure fehlermeldungen sehe.

        Ist das Script eine neue Version?

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

        @Negalein sagte in View Adapter Status:

        Ist das Script eine neue Version?

        ja

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

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

        NegaleinN 1 Antwort Letzte Antwort
        0
        • ScroungerS Scrounger

          @Negalein sagte in View Adapter Status:

          Ist das Script eine neue Version?

          ja

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

          @Scrounger sagte in View Adapter Status:

          ja

          perfekt

          Sortierung funktioniert wieder

          Und das beste ..... Ich bekomme keine Fehlermeldungen mehr

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

          O 1 Antwort Letzte Antwort
          0
          • NegaleinN Negalein

            @Scrounger sagte in View Adapter Status:

            ja

            perfekt

            Sortierung funktioniert wieder

            Und das beste ..... Ich bekomme keine Fehlermeldungen mehr

            O Online
            O Online
            Oli
            schrieb am zuletzt editiert von
            #113

            @Negalein

            wie machst du das mit dem stoppen?

            bei mir starten die Adapter nur neu?

            Gruß
            Oliver

            NegaleinN 1 Antwort Letzte Antwort
            0
            • O Oli

              @Negalein

              wie machst du das mit dem stoppen?

              bei mir starten die Adapter nur neu?

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

              @Oli sagte in View Adapter Status:

              wie machst du das mit dem stoppen?

              Zeile 18
              let neustarten = true;auf falseändern

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

              O 1 Antwort Letzte Antwort
              0
              • ScroungerS Scrounger

                Musst mir jetzt erstmal den proxy adapter installieren, damit ich auch mal eure fehlermeldungen sehe.

                // Imports -> müssen im Javascript Adapter unter 'Zusätzliche NPM-Module' eingetragen sein
                const moment = require("moment");
                const momentDurationFormatSetup = require("moment-duration-format");
                
                
                // Skript Einstellungen *************************************************************************************************************************************************
                
                let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';                     // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
                let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';     // Datenpunkt für Adapter restart (Typ: Zeichenkette (String))
                
                let adminUpdatesList = 'admin.0.info.updatesList'                           // Datenpunkt Admin Adapter für verfübare Updates der Adapter
                
                const checkInterval = 30;                                                   // Interval wie oft Status der Adapter aktualisiert werden soll (in Sekunden)
                
                let sprache = 'de';                                                         // Sprache für formatierung Dauer 
                let formatierungDauer = "dd[T] hh[h] mm[m]"                                 // Formatierung der Dauer -> siehe momentjs library
                
                let neustarten = true;                                                      // true: Adapter wird neugestartet, false: Adapter wird gestoppt oder gestartet
                
                let farbeAdapterAktiv = 'green';                                            // Status Bar Farbe wenn Adapter aktiv ist
                let farbeAdapterNichtAktiv = 'FireBrick';                                   // Status Bar Farbe wenn Adapter nicht aktiv ist oder Fehler vorliegt
                let farbeAdapterDeaktiviert = 'darkgrey';                                   // Status Bar Farbe wenn Adapter deaktiviert ist
                let farbeAdapterNichtVerbunden = 'yellow';                                  // Status Bar Farbe wenn Adapter nicht verbunden ist
                let farbeAdapterZeitgesteuert = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
                
                // **********************************************************************************************************************************************************************
                
                
                
                // Fomate für moment Lib
                moment.locale(sprache);
                
                // auf .alive Änderungen hören
                let aliveSelector = `[id=system.adapter.*.alive]`;
                let adapterAliveList = $(aliveSelector);
                if (adapterAliveList.length === 0) {
                    // Fehlermeldung ausgeben, wenn selector kein result liefert
                    console.error(`no result for selector '${aliveSelector}'`)
                } else {
                    // listener nur für Änderung bei alive
                    adapterAliveList.on(adapterStatus);
                }
                
                // auf .connected Änderungen hören
                let connectedSelector = `[id=*.info.connection]`;
                let adapterConnectedList = $(connectedSelector);
                if (adapterConnectedList.length === 0) {
                    // Fehlermeldung ausgeben, wenn selector kein result liefert
                    console.error(`no result for selector '${connectedSelector}'`)
                } else {
                    // listener nur für Änderung bei alive
                    adapterConnectedList.on(adapterStatus);
                }
                
                // Funktion adapterStatus alle x Sekunden ausführen
                schedule('*/' + checkInterval + ' * * * * *', adapterStatus);
                
                function adapterStatus() {
                    // Funktion um Status der Adapter abzurufen und als JSON String für das Material Design Widget IconList aufbereiten
                    let adapterList = [];
                    let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
                
                    try {
                        for (var i = 0; i <= adapterAliveList.length - 1; i++) {
                            let id = adapterAliveList[i].replace('.alive', '');
                            let obj = getObject(adapterAliveList[i].replace('.alive', ''));
                
                            let nameArray = id.replace('system.adapter.', '').split(".");
                
                            let name = nameArray[0];
                            name = name.charAt(0).toUpperCase() + name.slice(1);
                
                            let nameWithInstance = name;
                            let adapterInstance = nameArray[1];
                            if (parseInt(adapterInstance) > 0) {
                                nameWithInstance = name + '.' + adapterInstance;
                            }
                
                            let uptime = (existsState(id + '.uptime')) ? moment.duration(getState(id + '.uptime').val, 'seconds').format(formatierungDauer, 0) : '-';
                            let image = (myHelper().checkCommonPropertyExist(obj, 'icon')) ? `/${nameArray[0]}.admin/${obj.common.icon}` : 'image-off-outline';
                            let newVersion = (updateList && updateList.includes(nameArray[0])) ? '<span class="mdi mdi-update" style="color: #ec0909;"></span>' : '';
                
                            let text = `<div style="display: flex; flex-direction: row; line-height: 1.5; padding-right: 8px; align-items: center;">
                                            <div style="flex: 1">${newVersion} ${nameWithInstance}</div>
                                            <div style="color: grey; font-size: 12px; font-family: RobotoCondensed-LightItalic;">${myHelper().getCommonPropertyIfExist(obj, 'version', '-', 'v', '')}</div>
                                        </div>`
                
                            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">CPU</div>
                                                <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.cpu', '-', '', ' %')}</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">RAM total</div>
                                                <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memHeapTotal', '-', '', ' MB')}</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">RAM verwendet</div>
                                                <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memHeapUsed', '-', '', ' MB')}</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">RAM reserviert</div>
                                                <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memRss', '-', '', ' MB')}</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">Betriebszeit</div>
                                                <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${uptime}</div>
                                            </div>`
                
                            adapterList.push({
                                text: text,
                                subText: subText,
                                image: image,
                                listType: "buttonState",
                                objectId: dpAdapterRestart,
                                buttonStateValue: id,
                                statusBarColor: getStatusColor(),
                                showValueLabel: false,
                                name: name
                            })
                
                            function getStatusColor() {
                                let statusBarColor = farbeAdapterNichtAktiv;
                
                                if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                                    statusBarColor = farbeAdapterAktiv;
                
                                    if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                                        if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                                            statusBarColor = farbeAdapterNichtVerbunden;
                                        }
                                    } else {
                                        if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                                            statusBarColor = farbeAdapterNichtVerbunden;
                                        }
                                    }
                                }
                        
                                if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                                    // Adapter ist deaktiviert
                                    statusBarColor = farbeAdapterDeaktiviert;
                                }
                
                                if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                                    // Adapter ist zeitgesteuert
                                    statusBarColor = farbeAdapterZeitgesteuert;
                                }
                
                                return statusBarColor;
                            }
                        }
                
                    } catch (err) {
                        console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                    }
                
                    adapterList.sort(function (a, b) {
                        return a.name == b.name ? 0 : +(a.name > b.name) || -1;
                    });
                
                    let result = JSON.stringify(adapterList);
                    if (getState(dpList) !== result) {
                        setState(dpList, result, true);
                    }
                }
                
                // Beim Staren des Skriptes Adapter Status abrufen
                adapterStatus();
                
                // Funktion um Adapter zu starten / neu starten
                on({ id: dpAdapterRestart }, function (obj) {
                    var adapter = getObject(obj.state.val.toString());
                
                    if (neustarten) {
                        if (adapter.common && adapter.common.enabled === false) {
                            // Adapter deaktiviert -> starten
                            adapter.common.enabled = true;
                        }
                    } else {
                        if (adapter.common && adapter.common.enabled) {
                            adapter.common.enabled = !adapter.common.enabled;
                        } else {
                            adapter.common.enabled = true;
                        }
                    }
                
                    setObject(obj.state.val, adapter);
                    console.log(`${obj.state.val.replace('system.adapter.', '')} neugestartet`);
                });
                
                
                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;
                            }
                        }
                    }
                }
                

                @Negalein sagte in View Adapter Status:

                Derzeit wird nach senkrechten Spalten sortiert.

                Das wird doch genau so sortiert?

                O Online
                O Online
                Oli
                schrieb am zuletzt editiert von Oli
                #115

                @Scrounger

                danke für das tolle Script, funktioniert super.

                Könntest du mich vielleicht bei CSS etwas unterstützen?
                Egal was ich bereits versucht habe, ich bekomme Rahmen und Schatten nur um das gesamte Widget aber leider nicht um die einzelnen Cards.

                Eine Frage hätte ich noch, wie bekomme ich eine Linie mittels html unter den Adapternamen?

                Gruß
                Oliver

                1 Antwort Letzte Antwort
                0
                • NegaleinN Negalein

                  @Oli sagte in View Adapter Status:

                  wie machst du das mit dem stoppen?

                  Zeile 18
                  let neustarten = true;auf falseändern

                  O Online
                  O Online
                  Oli
                  schrieb am zuletzt editiert von
                  #116

                  @Negalein

                  danke, wer lesen kann ist klar im Vorteil.

                  Gruß
                  Oliver

                  1 Antwort Letzte Antwort
                  0
                  • NegaleinN Negalein

                    @sigi234 sagte in View Adapter Status:

                    Ich denke das geht im Skript ab Zeile 54

                    Bingo, das wars :)
                    vis (26).png

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

                    @Negalein sagte in View Adapter Status:

                    vis (26).png

                    Ich finde die Zeile nicht , zum verändern der Card Farbe .
                    Bei mir unter 54 steht nichts .
                    Könntest du vielleicht ein Screenshot machen ?
                    Danke !

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

                    NegaleinN 1 Antwort Letzte Antwort
                    0
                    • GlasfaserG Glasfaser

                      @Negalein sagte in View Adapter Status:

                      vis (26).png

                      Ich finde die Zeile nicht , zum verändern der Card Farbe .
                      Bei mir unter 54 steht nichts .
                      Könntest du vielleicht ein Screenshot machen ?
                      Danke !

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

                      @Glasfaser sagte in View Adapter Status:

                      Ich finde die Zeile nicht , zum verändern der Card Farbe .

                      du meinst den schwarzen Hintergrund?
                      Wird direkt im Widget eingestellt
                      Edit vis (2).png

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

                      GlasfaserG 1 Antwort Letzte Antwort
                      1
                      • NegaleinN Negalein

                        @Glasfaser sagte in View Adapter Status:

                        Ich finde die Zeile nicht , zum verändern der Card Farbe .

                        du meinst den schwarzen Hintergrund?
                        Wird direkt im Widget eingestellt
                        Edit vis (2).png

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

                        @Negalein

                        Ahh ..dachte im Script, , Danke .
                        Sieht schon besser aus :+1:

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

                        NegaleinN 1 Antwort Letzte Antwort
                        0
                        • GlasfaserG Glasfaser

                          @Negalein

                          Ahh ..dachte im Script, , Danke .
                          Sieht schon besser aus :+1:

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

                          @Glasfaser sagte in View Adapter Status:

                          Ahh ..dachte im Script, , Danke .

                          Und mir ist mit der Schriftfarbe so gegangen. Hab im Widget danach gesucht. :grin:

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

                          ScroungerS 1 Antwort Letzte Antwort
                          1
                          • ScroungerS Scrounger

                            So hier ist die verbesserte Variante des Skriptes, die auch die ganzen Warn Meldungen abfangen sollte

                            3c38829c-b368-4c0c-b312-7531dc59bff5-grafik.png

                            // Imports -> müssen im Javascript Adapter unter 'Zusätzliche NPM-Module' eingetragen sein
                            const moment = require("moment");
                            const momentDurationFormatSetup = require("moment-duration-format");
                            
                            
                            // Skript Einstellungen *************************************************************************************************************************************************
                            
                            let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';                     // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
                            let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';     // Datenpunkt für Adapter restart (Typ: Zeichenkette (String))
                            
                            let adminUpdatesList = 'admin.0.info.updatesList'                           // Datenpunkt Admin Adapter für verfübare Updates der Adapter
                            
                            const checkInterval = 30;                                                   // Interval wie oft Status der Adapter aktualisiert werden soll (in Sekunden)
                            
                            let sprache = 'de';                                                         // Sprache für formatierung Dauer 
                            let formatierungDauer = "dd[T] hh[h] mm[m]"                                 // Formatierung der Dauer -> siehe momentjs library
                            
                            let neustarten = true;                                                      // true: Adapter wird neugestartet, false: Adapter wird gestoppt oder gestartet
                            
                            let farbeAdapterAktiv = 'green';                                            // Status Bar Farbe wenn Adapter aktiv ist
                            let farbeAdapterNichtAktiv = 'FireBrick';                                   // Status Bar Farbe wenn Adapter nicht aktiv ist oder Fehler vorliegt
                            let farbeAdapterDeaktiviert = 'darkgrey';                                   // Status Bar Farbe wenn Adapter deaktiviert ist
                            let farbeAdapterNichtVerbunden = 'yellow';                                  // Status Bar Farbe wenn Adapter nicht verbunden ist
                            let farbeAdapterZeitgesteuert = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
                            
                            // **********************************************************************************************************************************************************************
                            
                            
                            
                            // Fomate für moment Lib
                            moment.locale(sprache);
                            
                            // auf .alive Änderungen hören
                            let aliveSelector = `[id=system.adapter.*.alive]`;
                            let adapterAliveList = $(aliveSelector);
                            if (adapterAliveList.length === 0) {
                                // Fehlermeldung ausgeben, wenn selector kein result liefert
                                console.error(`no result for selector '${aliveSelector}'`)
                            } else {
                                // listener nur für Änderung bei alive
                                adapterAliveList.on(adapterStatus);
                            }
                            
                            // auf .connected Änderungen hören
                            let connectedSelector = `[id=*.info.connection]`;
                            let adapterConnectedList = $(connectedSelector);
                            if (adapterConnectedList.length === 0) {
                                // Fehlermeldung ausgeben, wenn selector kein result liefert
                                console.error(`no result for selector '${connectedSelector}'`)
                            } else {
                                // listener nur für Änderung bei alive
                                adapterConnectedList.on(adapterStatus);
                            }
                            
                            // Funktion adapterStatus alle x Sekunden ausführen
                            schedule('*/' + checkInterval + ' * * * * *', adapterStatus);
                            
                            function adapterStatus() {
                                // Funktion um Status der Adapter abzurufen und als JSON String für das Material Design Widget IconList aufbereiten
                                let adapterList = [];
                                let updateList = myHelper().getStateValueIfExist(adminUpdatesList);
                            
                                try {
                                    for (var i = 0; i <= adapterAliveList.length - 1; i++) {
                                        let id = adapterAliveList[i].replace('.alive', '');
                                        let obj = getObject(adapterAliveList[i].replace('.alive', ''));
                            
                                        let nameArray = id.replace('system.adapter.', '').split(".");
                            
                                        let name = nameArray[0];
                                        name = name.charAt(0).toUpperCase() + name.slice(1);
                            
                                        let nameWithInstance = name;
                                        let adapterInstance = nameArray[1];
                                        if (parseInt(adapterInstance) > 0) {
                                            nameWithInstance = name + '.' + adapterInstance;
                                        }
                            
                                        let uptime = (existsState(id + '.uptime')) ? moment.duration(getState(id + '.uptime').val, 'seconds').format(formatierungDauer, 0) : '-';
                                        let image = (myHelper().checkCommonPropertyExist(obj, 'icon')) ? `/${nameArray[0]}.admin/${obj.common.icon}` : 'image-off-outline';
                                        let newVersion = (updateList && updateList.includes(nameArray[0])) ? '<span class="mdi mdi-update" style="color: #ec0909;"></span>' : '';
                            
                                        let text = `<div style="display: flex; flex-direction: row; line-height: 1.5; padding-right: 8px; align-items: center;">
                                                        <div style="flex: 1">${newVersion} ${nameWithInstance}</div>
                                                        <div style="color: grey; font-size: 12px; font-family: RobotoCondensed-LightItalic;">${myHelper().getCommonPropertyIfExist(obj, 'version', '-', 'v', '')}</div>
                                                    </div>`
                            
                                        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">CPU</div>
                                                            <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.cpu', '-', '', ' %')}</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">RAM total</div>
                                                            <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memHeapTotal', '-', '', ' MB')}</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">RAM verwendet</div>
                                                            <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memHeapUsed', '-', '', ' MB')}</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">RAM reserviert</div>
                                                            <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${myHelper().getStateValueIfExist(id + '.memRss', '-', '', ' MB')}</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">Betriebszeit</div>
                                                            <div style="color: grey; font-size: 14px; font-family: RobotoCondensed-LightItalic;">${uptime}</div>
                                                        </div>`
                            
                                        adapterList.push({
                                            text: text,
                                            subText: subText,
                                            image: image,
                                            listType: "buttonState",
                                            objectId: dpAdapterRestart,
                                            buttonStateValue: id,
                                            statusBarColor: getStatusColor(),
                                            showValueLabel: false,
                                            name: name
                                        })
                            
                                        function getStatusColor() {
                                            let statusBarColor = farbeAdapterNichtAktiv;
                            
                                            if (myHelper().getStateValueIfExist(adapterAliveList[i]) === 'true') {
                                                statusBarColor = farbeAdapterAktiv;
                            
                                                if (existsState(id.replace('system.adapter.', '') + '.info.connection')) {
                                                    if (!getState(id.replace('system.adapter.', '') + '.info.connection').val) {
                                                        statusBarColor = farbeAdapterNichtVerbunden;
                                                    }
                                                } else {
                                                    if (myHelper().getStateValueIfExist(adapterAliveList[i].replace('.alive', '.connected')) === 'false') {
                                                        statusBarColor = farbeAdapterNichtVerbunden;
                                                    }
                                                }
                                            }
                                    
                                            if (myHelper().getCommonPropertyIfExist(obj, 'enabled', false).toString() === 'false') {
                                                // Adapter ist deaktiviert
                                                statusBarColor = farbeAdapterDeaktiviert;
                                            }
                            
                                            if (myHelper().getCommonPropertyIfExist(obj, 'mode') === 'schedule') {
                                                // Adapter ist zeitgesteuert
                                                statusBarColor = farbeAdapterZeitgesteuert;
                                            }
                            
                                            return statusBarColor;
                                        }
                                    }
                            
                                } catch (err) {
                                    console.error(`[adapterStatus] error: ${err.message}, stack: ${err.stack}`);
                                }
                            
                                adapterList.sort(function (a, b) {
                                    return a.name == b.name ? 0 : +(a.name > b.name) || -1;
                                });
                            
                                let result = JSON.stringify(adapterList);
                                if (getState(dpList) !== result) {
                                    setState(dpList, result, true);
                                }
                            }
                            
                            // Beim Staren des Skriptes Adapter Status abrufen
                            adapterStatus();
                            
                            // Funktion um Adapter zu starten / neu starten
                            on({ id: dpAdapterRestart }, function (obj) {
                                var adapter = getObject(obj.state.val.toString());
                            
                                if (neustarten) {
                                    if (adapter.common && adapter.common.enabled === false) {
                                        // Adapter deaktiviert -> starten
                                        adapter.common.enabled = true;
                                    }
                                } else {
                                    if (adapter.common && adapter.common.enabled) {
                                        adapter.common.enabled = !adapter.common.enabled;
                                    } else {
                                        adapter.common.enabled = true;
                                    }
                                }
                            
                                setObject(obj.state.val, adapter);
                                console.log(`${obj.state.val.replace('system.adapter.', '')} neugestartet`);
                            });
                            
                            
                            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;
                                        }
                                    }
                                }
                            }
                            

                            Ihr könnt jetzt Einstellungen vornehmen, erklärung steht im kommentar

                            let dpList = '0_userdata.0.vis.AdapterStatus.jsonList';                     // Datenpunkt für IconList Widget (Typ: Zeichenkette (String))
                            let dpAdapterRestart = '0_userdata.0.vis.AdapterStatus.restartTrigger';     // Datenpunkt für Adapter restart (Typ: Zeichenkette (String))
                            
                            let adminUpdatesList = 'admin.0.info.updatesList'                           // Datenpunkt Admin Adapter für verfübare Updates der Adapter
                            
                            const checkInterval = 10;                                                   // Interval wie oft Status der Adapter aktualisiert werden soll (in Sekunden)
                            
                            let sprache = 'de';                                                         // Sprache für formatierung Dauer 
                            let formatierungDauer = "dd[T] hh[h] mm[m]"                                 // Formatierung der Dauer -> siehe momentjs library
                            
                            let neustarten = true;                                                      // true: Adapter wird neugestartet, false: Adapter wird gestoppt oder gestartet
                            
                            let farbeAdapterAktiv = 'green';                                            // Status Bar Farbe wenn Adapter aktiv ist
                            let farbeAdapterNichtAktiv = 'FireBrick';                                   // Status Bar Farbe wenn Adapter nicht aktiv ist oder Fehler vorliegt
                            let farbeAdapterDeaktiviert = 'darkgrey';                                   // Status Bar Farbe wenn Adapter deaktiviert ist
                            let farbeAdapterNichtVerbunden = 'yellow';                                  // Status Bar Farbe wenn Adapter nicht verbunden ist
                            let farbeAdapterZeitgesteuert = 'darkgreen';                                // Status Bar Farbe wenn Adapter zeitgesteuert ist
                            

                            @Oli sagte in View Adapter Status:

                            Die Info wenn ein Adapter gelb ist steht unter:
                            "system.adapter.backitup.0.connected"

                            Das ist aber nicht der Status für connection, dieser steht unter adapter.x.info.connection. Hab es gleich mal mit eingebaut ;-)

                            sigi234S Online
                            sigi234S Online
                            sigi234
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #121

                            @Scrounger sagte in View Adapter Status:

                            die auch die ganzen Warn Meldungen abfangen sollte

                            Leider noch nicht.

                            Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Immer Daten sichern!

                            ScroungerS 1 Antwort Letzte Antwort
                            0
                            • sigi234S sigi234

                              @Scrounger sagte in View Adapter Status:

                              die auch die ganzen Warn Meldungen abfangen sollte

                              Leider noch nicht.

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

                              @sigi234 sagte in View Adapter Status:

                              @Scrounger sagte in View Adapter Status:

                              die auch die ganzen Warn Meldungen abfangen sollte

                              Leider noch nicht.

                              Welche?...

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

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

                              sigi234S 1 Antwort Letzte Antwort
                              0
                              • ScroungerS Scrounger

                                @sigi234 sagte in View Adapter Status:

                                @Scrounger sagte in View Adapter Status:

                                die auch die ganzen Warn Meldungen abfangen sollte

                                Leider noch nicht.

                                Welche?...

                                sigi234S Online
                                sigi234S Online
                                sigi234
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #123

                                @Scrounger sagte in View Adapter Status:

                                @sigi234 sagte in View Adapter Status:

                                @Scrounger sagte in View Adapter Status:

                                die auch die ganzen Warn Meldungen abfangen sollte

                                Leider noch nicht.

                                Welche?...

                                
                                javascript.0	2020-02-24 22:45:00.815	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                javascript.0	2020-02-24 22:45:00.814	warn	(15032) at listOnTimeout (timers.js:263:5)
                                javascript.0	2020-02-24 22:45:00.814	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                javascript.0	2020-02-24 22:45:00.814	warn	(15032) at ontimeout (timers.js:436:11)
                                javascript.0	2020-02-24 22:45:00.814	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                javascript.0	2020-02-24 22:45:00.814	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                javascript.0	2020-02-24 22:45:00.814	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                javascript.0	2020-02-24 22:45:00.814	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                javascript.0	2020-02-24 22:45:00.814	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:115:33)
                                javascript.0	2020-02-24 22:45:00.814	warn	(15032) at getStatusColor (script.js.Sigi.Adapter_Abfrage1:123:32)
                                javascript.0	2020-02-24 22:45:00.814	warn	(15032) at Object.getStateValueIfExist (script.js.Sigi.Adapter_Abfrage1:195:34)
                                javascript.0	2020-02-24 22:45:00.813	warn	(15032) getState "system.adapter.pegelonline.0.alive" not found (3) states[id]=null
                                javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                javascript.0	2020-02-24 22:45:00.812	warn	(15032) at listOnTimeout (timers.js:263:5)
                                javascript.0	2020-02-24 22:45:00.812	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                javascript.0	2020-02-24 22:45:00.812	warn	(15032) at ontimeout (timers.js:436:11)
                                javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                javascript.0	2020-02-24 22:45:00.812	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:101:132)
                                javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Object.getStateValueIfExist (script.js.Sigi.Adapter_Abfrage1:195:34)
                                javascript.0	2020-02-24 22:45:00.811	warn	(15032) getState "system.adapter.pegelonline.0.memRss" not found (3) states[id]=null
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) at listOnTimeout (timers.js:263:5)
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) at ontimeout (timers.js:436:11)
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:97:132)
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Object.getStateValueIfExist (script.js.Sigi.Adapter_Abfrage1:195:34)
                                javascript.0	2020-02-24 22:45:00.810	warn	(15032) getState "system.adapter.pegelonline.0.memHeapUsed" not found (3) states[id]=null
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) at listOnTimeout (timers.js:263:5)
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) at ontimeout (timers.js:436:11)
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:93:132)
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Object.getStateValueIfExist (script.js.Sigi.Adapter_Abfrage1:195:34)
                                javascript.0	2020-02-24 22:45:00.808	warn	(15032) getState "system.adapter.pegelonline.0.memHeapTotal" not found (3) states[id]=null
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) at listOnTimeout (timers.js:263:5)
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) at ontimeout (timers.js:436:11)
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:89:132)
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Object.getStateValueIfExist (script.js.Sigi.Adapter_Abfrage1:195:34)
                                javascript.0	2020-02-24 22:45:00.806	warn	(15032) getState "system.adapter.pegelonline.0.cpu" not found (3) states[id]=null
                                javascript.0	2020-02-24 22:45:00.804	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                javascript.0	2020-02-24 22:45:00.804	warn	(15032) at listOnTimeout (timers.js:263:5)
                                javascript.0	2020-02-24 22:45:00.804	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                javascript.0	2020-02-24 22:45:00.804	warn	(15032) at ontimeout (timers.js:436:11)
                                javascript.0	2020-02-24 22:45:00.804	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                javascript.0	2020-02-24 22:45:00.804	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                javascript.0	2020-02-24 22:45:00.804	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                javascript.0	2020-02-24 22:45:00.804	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                javascript.0	2020-02-24 22:45:00.803	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:78:89)
                                javascript.0	2020-02-24 22:45:00.803	warn	(15032) getState "system.adapter.pegelonline.0.uptime" not found (3) states[id]=null
                                

                                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                Immer Daten sichern!

                                ScroungerS 1 Antwort Letzte Antwort
                                0
                                • sigi234S sigi234

                                  @Scrounger sagte in View Adapter Status:

                                  @sigi234 sagte in View Adapter Status:

                                  @Scrounger sagte in View Adapter Status:

                                  die auch die ganzen Warn Meldungen abfangen sollte

                                  Leider noch nicht.

                                  Welche?...

                                  
                                  javascript.0	2020-02-24 22:45:00.815	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                  javascript.0	2020-02-24 22:45:00.814	warn	(15032) at listOnTimeout (timers.js:263:5)
                                  javascript.0	2020-02-24 22:45:00.814	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                  javascript.0	2020-02-24 22:45:00.814	warn	(15032) at ontimeout (timers.js:436:11)
                                  javascript.0	2020-02-24 22:45:00.814	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                  javascript.0	2020-02-24 22:45:00.814	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                  javascript.0	2020-02-24 22:45:00.814	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                  javascript.0	2020-02-24 22:45:00.814	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                  javascript.0	2020-02-24 22:45:00.814	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:115:33)
                                  javascript.0	2020-02-24 22:45:00.814	warn	(15032) at getStatusColor (script.js.Sigi.Adapter_Abfrage1:123:32)
                                  javascript.0	2020-02-24 22:45:00.814	warn	(15032) at Object.getStateValueIfExist (script.js.Sigi.Adapter_Abfrage1:195:34)
                                  javascript.0	2020-02-24 22:45:00.813	warn	(15032) getState "system.adapter.pegelonline.0.alive" not found (3) states[id]=null
                                  javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                  javascript.0	2020-02-24 22:45:00.812	warn	(15032) at listOnTimeout (timers.js:263:5)
                                  javascript.0	2020-02-24 22:45:00.812	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                  javascript.0	2020-02-24 22:45:00.812	warn	(15032) at ontimeout (timers.js:436:11)
                                  javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                  javascript.0	2020-02-24 22:45:00.812	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                  javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                  javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                  javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:101:132)
                                  javascript.0	2020-02-24 22:45:00.812	warn	(15032) at Object.getStateValueIfExist (script.js.Sigi.Adapter_Abfrage1:195:34)
                                  javascript.0	2020-02-24 22:45:00.811	warn	(15032) getState "system.adapter.pegelonline.0.memRss" not found (3) states[id]=null
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) at listOnTimeout (timers.js:263:5)
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) at ontimeout (timers.js:436:11)
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:97:132)
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) at Object.getStateValueIfExist (script.js.Sigi.Adapter_Abfrage1:195:34)
                                  javascript.0	2020-02-24 22:45:00.810	warn	(15032) getState "system.adapter.pegelonline.0.memHeapUsed" not found (3) states[id]=null
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) at listOnTimeout (timers.js:263:5)
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) at ontimeout (timers.js:436:11)
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:93:132)
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) at Object.getStateValueIfExist (script.js.Sigi.Adapter_Abfrage1:195:34)
                                  javascript.0	2020-02-24 22:45:00.808	warn	(15032) getState "system.adapter.pegelonline.0.memHeapTotal" not found (3) states[id]=null
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) at listOnTimeout (timers.js:263:5)
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) at ontimeout (timers.js:436:11)
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:89:132)
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) at Object.getStateValueIfExist (script.js.Sigi.Adapter_Abfrage1:195:34)
                                  javascript.0	2020-02-24 22:45:00.806	warn	(15032) getState "system.adapter.pegelonline.0.cpu" not found (3) states[id]=null
                                  javascript.0	2020-02-24 22:45:00.804	warn	(15032) at Timer.processTimers (timers.js:223:10)
                                  javascript.0	2020-02-24 22:45:00.804	warn	(15032) at listOnTimeout (timers.js:263:5)
                                  javascript.0	2020-02-24 22:45:00.804	warn	(15032) at tryOnTimeout (timers.js:300:5)
                                  javascript.0	2020-02-24 22:45:00.804	warn	(15032) at ontimeout (timers.js:436:11)
                                  javascript.0	2020-02-24 22:45:00.804	warn	(15032) at Timeout._onTimeout (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:501:7)
                                  javascript.0	2020-02-24 22:45:00.804	warn	(15032) at C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:543:11
                                  javascript.0	2020-02-24 22:45:00.804	warn	(15032) at Job.invoke (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\node_modules\node-schedule\lib\schedule.js:173:10)
                                  javascript.0	2020-02-24 22:45:00.804	warn	(15032) at Job.nodeSchedule.scheduleJob [as job] (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1340:34)
                                  javascript.0	2020-02-24 22:45:00.803	warn	(15032) at Object.adapterStatus (script.js.Sigi.Adapter_Abfrage1:78:89)
                                  javascript.0	2020-02-24 22:45:00.803	warn	(15032) getState "system.adapter.pegelonline.0.uptime" not found (3) states[id]=null
                                  
                                  ScroungerS Offline
                                  ScroungerS Offline
                                  Scrounger
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #124

                                  @sigi234
                                  Ist exakt die gleiche Meldung wie bei @Negalein :

                                  getState "system.adapter.proxy.0.alive" not found (3) states[id]=null
                                  
                                  getState "system.adapter.pegelonline.0.uptime" not found (3) states[id]=null
                                  

                                  Schätze da hast nen Fehler beim Skript kopieren gemacht?

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

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

                                  NegaleinN sigi234S 2 Antworten Letzte Antwort
                                  0
                                  • ScroungerS Scrounger

                                    @sigi234
                                    Ist exakt die gleiche Meldung wie bei @Negalein :

                                    getState "system.adapter.proxy.0.alive" not found (3) states[id]=null
                                    
                                    getState "system.adapter.pegelonline.0.uptime" not found (3) states[id]=null
                                    

                                    Schätze da hast nen Fehler beim Skript kopieren gemacht?

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

                                    @Scrounger sagte in View Adapter Status:

                                    Ist exakt die gleiche Meldung wie bei @Negalein :

                                    mit dem aktuellen Script hab ich 0 Fehlermeldungen, bzw. Warnmeldungen

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • NegaleinN Negalein

                                      @Glasfaser sagte in View Adapter Status:

                                      Ahh ..dachte im Script, , Danke .

                                      Und mir ist mit der Schriftfarbe so gegangen. Hab im Widget danach gesucht. :grin:

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

                                      @Negalein sagte in View Adapter Status:

                                      @Glasfaser sagte in View Adapter Status:

                                      Ahh ..dachte im Script, , Danke .

                                      Und mir ist mit der Schriftfarbe so gegangen. Hab im Widget danach gesucht. :grin:

                                      Die kann man übrigens auch per Widget einstellen.
                                      2936fdf6-dac3-4264-8861-7a1334157c72-grafik.png

                                      Keine Ahnung warum ich das im Skript gemacht habe. Werf ich beim nächsten Update raus, weil da passt noch was nicht mit dem connect status ;)

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

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

                                      NegaleinN 1 Antwort Letzte Antwort
                                      0
                                      • ScroungerS Scrounger

                                        @sigi234
                                        Ist exakt die gleiche Meldung wie bei @Negalein :

                                        getState "system.adapter.proxy.0.alive" not found (3) states[id]=null
                                        
                                        getState "system.adapter.pegelonline.0.uptime" not found (3) states[id]=null
                                        

                                        Schätze da hast nen Fehler beim Skript kopieren gemacht?

                                        sigi234S Online
                                        sigi234S Online
                                        sigi234
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #127

                                        @Scrounger sagte in View Adapter Status:

                                        Schätze da hast nen Fehler beim Skript kopieren gemacht?

                                        Wie immer hattest du Recht. :+1:

                                        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                        Immer Daten sichern!

                                        1 Antwort Letzte Antwort
                                        0
                                        • ScroungerS Scrounger

                                          @Negalein sagte in View Adapter Status:

                                          @Glasfaser sagte in View Adapter Status:

                                          Ahh ..dachte im Script, , Danke .

                                          Und mir ist mit der Schriftfarbe so gegangen. Hab im Widget danach gesucht. :grin:

                                          Die kann man übrigens auch per Widget einstellen.
                                          2936fdf6-dac3-4264-8861-7a1334157c72-grafik.png

                                          Keine Ahnung warum ich das im Skript gemacht habe. Werf ich beim nächsten Update raus, weil da passt noch was nicht mit dem connect status ;)

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

                                          @Scrounger sagte in View Adapter Status:

                                          Die kann man übrigens auch per Widget einstellen.

                                          Aber nur den linken Teil.
                                          Den rechten teil mit den werten geht nur im Script.

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

                                          ScroungerS 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

                                          315

                                          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