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

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

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.
  • sigi234S sigi234

    @Bachmann77 sagte in View Adapter Status:

    @sigi234
    hät ja gern mal gesehen wie deine komplette vis aussieht :)

    Ja ist nur ein Ausschnitt davon.

    Ich baue gerade meine komplette Vis auf vis-materialdesign von @Scrounger um. Hier einige Beispiele:

    Screenshot (542).png

    Screenshot (540).png

    Screenshot (538).png

    Screenshot (536).png

    Screenshot (534).png

    Screenshot (532).png

    Screenshot (530).png

    Screenshot (528).png

    Das Menü lässt sich natürlich ausblenden.

    K Offline
    K Offline
    Kuddel
    schrieb am zuletzt editiert von Kuddel
    #35

    @sigi234 wie hast du die farbliche formatierung bei deinen Logs hinbekommen?

    Dass z.b. "error" in rot angezeigt wird?

    Aktuell sieht es bei mir so aus:

    16d7d299-1da4-41fd-94dd-37f910346b30-grafik.png

    Irgendwie bin ich nicht mit den Zeilenumbrüchen zufrieden.

    Habe line-hight auf 0.5, damit die Abstände zwischend ein einzelnen Einträgen gering sind.
    Leider verschieben sich die Zeilen bei einem Umbruch dann ineinander

    sigi234S GlasfaserG 2 Antworten Letzte Antwort
    0
    • O Oli

      @Kuddel

      welche Größe brauchst du?
      Habe meine für ein Samsung Tab 10.1 geändert.

      Ich löse das ganze allerdings über ein Script, dass mir automatisch die Adapter einliest, dann brauche ich nicht jedesmal Handanlegen, wenn einer dazukommt.

      8502d1aa-7d9d-40ef-8c2f-606356147285-image.png

      @sigi234

      kannst du die Seite von deinen Yamaha Verstärker zur Verfügung stellen?

      v522533V Offline
      v522533V Offline
      v522533
      schrieb am zuletzt editiert von
      #36

      @Oli sagte in View Adapter Status:

      @Kuddel

      welche Größe brauchst du?
      Habe meine für ein Samsung Tab 10.1 geändert.

      Ich löse das ganze allerdings über ein Script, dass mir automatisch die Adapter einliest, dann brauche ich nicht jedesmal Handanlegen, wenn einer dazukommt.

      8502d1aa-7d9d-40ef-8c2f-606356147285-image.png

      @sigi234

      kannst du die Seite von deinen Yamaha Verstärker zur Verfügung stellen?

      wie machst du das mit dem script? Das würde mich brennend interessieren, nervt nämlich alles immer von hand zu machen ;)

      Gruß Chris

      O 1 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        jerzimeik
        schrieb am zuletzt editiert von
        #37

        Super Übersicht!

        Nur wie löst ihr das mit den iCal-Status? Der ist bei mir meistens bei "alive" auf false und ruft nur alle 30 Minuten den Status ab.

        NashraN 1 Antwort Letzte Antwort
        0
        • J jerzimeik

          Super Übersicht!

          Nur wie löst ihr das mit den iCal-Status? Der ist bei mir meistens bei "alive" auf false und ruft nur alle 30 Minuten den Status ab.

          NashraN Offline
          NashraN Offline
          Nashra
          Most Active Forum Testing
          schrieb am zuletzt editiert von
          #38

          @jerzimeik sagte in View Adapter Status:

          Super Übersicht!

          Nur wie löst ihr das mit den iCal-Status? Der ist bei mir meistens bei "alive" auf false und ruft nur alle 30 Minuten den Status ab.

          Der geht dann nur alle 30 Minuten auf grün wenn die Abfrage ist.

          Gruß Ralf
          Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          1 Antwort Letzte Antwort
          0
          • v522533V v522533

            @Oli sagte in View Adapter Status:

            @Kuddel

            welche Größe brauchst du?
            Habe meine für ein Samsung Tab 10.1 geändert.

            Ich löse das ganze allerdings über ein Script, dass mir automatisch die Adapter einliest, dann brauche ich nicht jedesmal Handanlegen, wenn einer dazukommt.

            8502d1aa-7d9d-40ef-8c2f-606356147285-image.png

            @sigi234

            kannst du die Seite von deinen Yamaha Verstärker zur Verfügung stellen?

            wie machst du das mit dem script? Das würde mich brennend interessieren, nervt nämlich alles immer von hand zu machen ;)

            O Offline
            O Offline
            Oli
            schrieb am zuletzt editiert von Oli
            #39

            @v522533

            anbei das Script, es werden für jeden Adapter einzelne Datenpunkte angelegt. Das automatische entfernen eines Adapters funktioniert noch nicht, daran arbeite ich momentan noch.

            38a2687e-9550-48a1-9af9-1c5bbcf4c353-image.png

            Ich hoffe es funktioniert bei dir, konnte es bisher nur auf meine Bedürfnisse testen.

            // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
            
            on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
               createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
               //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
               var counter =0;        
            
               var cacheSelector = $('[id=system.adapter.*.alive]');    
               cacheSelector.each(function(id, i) {        
                   var devicename = getObject(id).common.name;             
                   var devicenameName=devicename;
                   var test = devicenameName;
                   var devicename_array = devicenameName.split(' ');        
                   devicenameName = devicename_array[0];
            
                   counter = counter+1; 
                       
                   var strStatePath = "system.adapter." + devicenameName + ".alive";
                   if (isState(strStatePath, true)) {
                       var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                       var tage = Math.floor(uptime / (24*3600));
                       var stunden = Math.floor((uptime % (24*3600))/3600);
                       var minuten = Math.floor((uptime % (3600))/60);
                       var sekunden = Math.floor(uptime % 60);
                       uptime = tage.toString()+" Tag(e), "+stunden.toString()+" Std., "+minuten.toString()+" Min. ";
            
                       var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                       var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                       var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                       var connect = getState("system.adapter." + devicenameName + ".alive").val;            
            
                       if(connect == false){
                           var con = 0;    
                       } else {                
                           var con = 1;                                             
                       } 
            
                       var strStatePath = devicenameName + ".info.connection";
                       if (isState(strStatePath, true)) {
                           var connectS = getState(devicenameName + ".info.connection").val;
                       }
            
                       if (connectS == false) {
                           con = 2;
                       }                                                 
                   }       
                   
                   var contentstring = devicenameName;
                   var suchstring = /(ical)/g; 
                   var suchergebnis = suchstring.test( contentstring );
                   
                   if (suchergebnis != true) {
                       var devicename_array = devicenameName.split('.');        
                       devicenameName = devicename_array[0];
                   }    
            
                   if (devicenameName == "daswetter") {
                       var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                   } else if (suchergebnis != false) {
                       var devicename_array = devicenameName.split('.');        
                       var icalName = devicename_array[0];        
                       var bild = "/" + icalName + ".admin/" + icalName + ".png";
                   } else {
                       var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                   }
                       
                   devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase(); 
                   
                   devicename="Adapter.Adapter"+counter.toString()+".NameAdapter";
                   createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                   setStateDelayed(devicename, devicenameName, 800);
            
                   devicename="Adapter.Adapter"+counter.toString()+".Bild";
                   createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                   setStateDelayed(devicename, bild, 800);
            
                   devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                   createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                   setStateDelayed(devicename, uptime, 800);
            
                   devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                   createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                   setStateDelayed(devicename, used, 800);
            
                   devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                   createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                   setStateDelayed(devicename, total, 800);
            
                   devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                   createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                   setStateDelayed(devicename, rss, 800);
            
                   devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                   createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                   setStateDelayed(devicename, con, 800);
                   
               });
                
               setStateDelayed('Adapter.Anzahl', counter, 800);
            
               function isState(strStatePath, strict) {
                   let mSelector;
                   if (strict) {
                       mSelector = $('state[id=' + strStatePath + '$]');
                   } else {
                       mSelector = $('state[id=' + strStatePath + ']');
                   }
                   if (mSelector.length > 0) {
                       return true;
                   } else {
                       return false;
                   }
               }  
            });    
               
                       
            

            Hier ist noch meine Vis mit den angepassten Datenpunkten

            AdapterVis.txt

            Gruß
            Oliver

            v522533V sigi234S K 3 Antworten Letzte Antwort
            2
            • O Oli

              @v522533

              anbei das Script, es werden für jeden Adapter einzelne Datenpunkte angelegt. Das automatische entfernen eines Adapters funktioniert noch nicht, daran arbeite ich momentan noch.

              38a2687e-9550-48a1-9af9-1c5bbcf4c353-image.png

              Ich hoffe es funktioniert bei dir, konnte es bisher nur auf meine Bedürfnisse testen.

              // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
              
              on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                 createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                 //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                 var counter =0;        
              
                 var cacheSelector = $('[id=system.adapter.*.alive]');    
                 cacheSelector.each(function(id, i) {        
                     var devicename = getObject(id).common.name;             
                     var devicenameName=devicename;
                     var test = devicenameName;
                     var devicename_array = devicenameName.split(' ');        
                     devicenameName = devicename_array[0];
              
                     counter = counter+1; 
                         
                     var strStatePath = "system.adapter." + devicenameName + ".alive";
                     if (isState(strStatePath, true)) {
                         var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                         var tage = Math.floor(uptime / (24*3600));
                         var stunden = Math.floor((uptime % (24*3600))/3600);
                         var minuten = Math.floor((uptime % (3600))/60);
                         var sekunden = Math.floor(uptime % 60);
                         uptime = tage.toString()+" Tag(e), "+stunden.toString()+" Std., "+minuten.toString()+" Min. ";
              
                         var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                         var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                         var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                         var connect = getState("system.adapter." + devicenameName + ".alive").val;            
              
                         if(connect == false){
                             var con = 0;    
                         } else {                
                             var con = 1;                                             
                         } 
              
                         var strStatePath = devicenameName + ".info.connection";
                         if (isState(strStatePath, true)) {
                             var connectS = getState(devicenameName + ".info.connection").val;
                         }
              
                         if (connectS == false) {
                             con = 2;
                         }                                                 
                     }       
                     
                     var contentstring = devicenameName;
                     var suchstring = /(ical)/g; 
                     var suchergebnis = suchstring.test( contentstring );
                     
                     if (suchergebnis != true) {
                         var devicename_array = devicenameName.split('.');        
                         devicenameName = devicename_array[0];
                     }    
              
                     if (devicenameName == "daswetter") {
                         var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                     } else if (suchergebnis != false) {
                         var devicename_array = devicenameName.split('.');        
                         var icalName = devicename_array[0];        
                         var bild = "/" + icalName + ".admin/" + icalName + ".png";
                     } else {
                         var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                     }
                         
                     devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase(); 
                     
                     devicename="Adapter.Adapter"+counter.toString()+".NameAdapter";
                     createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                     setStateDelayed(devicename, devicenameName, 800);
              
                     devicename="Adapter.Adapter"+counter.toString()+".Bild";
                     createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                     setStateDelayed(devicename, bild, 800);
              
                     devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                     createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                     setStateDelayed(devicename, uptime, 800);
              
                     devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                     createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                     setStateDelayed(devicename, used, 800);
              
                     devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                     createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                     setStateDelayed(devicename, total, 800);
              
                     devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                     createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                     setStateDelayed(devicename, rss, 800);
              
                     devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                     createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                     setStateDelayed(devicename, con, 800);
                     
                 });
                  
                 setStateDelayed('Adapter.Anzahl', counter, 800);
              
                 function isState(strStatePath, strict) {
                     let mSelector;
                     if (strict) {
                         mSelector = $('state[id=' + strStatePath + '$]');
                     } else {
                         mSelector = $('state[id=' + strStatePath + ']');
                     }
                     if (mSelector.length > 0) {
                         return true;
                     } else {
                         return false;
                     }
                 }  
              });    
                 
                         
              

              Hier ist noch meine Vis mit den angepassten Datenpunkten

              AdapterVis.txt

              v522533V Offline
              v522533V Offline
              v522533
              schrieb am zuletzt editiert von
              #40

              @Oli

              Danke Dir

              Gruß Chris

              O 2 Antworten Letzte Antwort
              0
              • v522533V v522533

                @Oli

                Danke Dir

                O Offline
                O Offline
                Oli
                schrieb am zuletzt editiert von
                #41

                @v522533

                Viel Spaß beim testen

                Gruß
                Oliver

                1 Antwort Letzte Antwort
                0
                • O Oli

                  @v522533

                  anbei das Script, es werden für jeden Adapter einzelne Datenpunkte angelegt. Das automatische entfernen eines Adapters funktioniert noch nicht, daran arbeite ich momentan noch.

                  38a2687e-9550-48a1-9af9-1c5bbcf4c353-image.png

                  Ich hoffe es funktioniert bei dir, konnte es bisher nur auf meine Bedürfnisse testen.

                  // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                  
                  on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                     createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                     //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                     var counter =0;        
                  
                     var cacheSelector = $('[id=system.adapter.*.alive]');    
                     cacheSelector.each(function(id, i) {        
                         var devicename = getObject(id).common.name;             
                         var devicenameName=devicename;
                         var test = devicenameName;
                         var devicename_array = devicenameName.split(' ');        
                         devicenameName = devicename_array[0];
                  
                         counter = counter+1; 
                             
                         var strStatePath = "system.adapter." + devicenameName + ".alive";
                         if (isState(strStatePath, true)) {
                             var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                             var tage = Math.floor(uptime / (24*3600));
                             var stunden = Math.floor((uptime % (24*3600))/3600);
                             var minuten = Math.floor((uptime % (3600))/60);
                             var sekunden = Math.floor(uptime % 60);
                             uptime = tage.toString()+" Tag(e), "+stunden.toString()+" Std., "+minuten.toString()+" Min. ";
                  
                             var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                             var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                             var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                             var connect = getState("system.adapter." + devicenameName + ".alive").val;            
                  
                             if(connect == false){
                                 var con = 0;    
                             } else {                
                                 var con = 1;                                             
                             } 
                  
                             var strStatePath = devicenameName + ".info.connection";
                             if (isState(strStatePath, true)) {
                                 var connectS = getState(devicenameName + ".info.connection").val;
                             }
                  
                             if (connectS == false) {
                                 con = 2;
                             }                                                 
                         }       
                         
                         var contentstring = devicenameName;
                         var suchstring = /(ical)/g; 
                         var suchergebnis = suchstring.test( contentstring );
                         
                         if (suchergebnis != true) {
                             var devicename_array = devicenameName.split('.');        
                             devicenameName = devicename_array[0];
                         }    
                  
                         if (devicenameName == "daswetter") {
                             var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                         } else if (suchergebnis != false) {
                             var devicename_array = devicenameName.split('.');        
                             var icalName = devicename_array[0];        
                             var bild = "/" + icalName + ".admin/" + icalName + ".png";
                         } else {
                             var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                         }
                             
                         devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase(); 
                         
                         devicename="Adapter.Adapter"+counter.toString()+".NameAdapter";
                         createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                         setStateDelayed(devicename, devicenameName, 800);
                  
                         devicename="Adapter.Adapter"+counter.toString()+".Bild";
                         createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                         setStateDelayed(devicename, bild, 800);
                  
                         devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                         createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                         setStateDelayed(devicename, uptime, 800);
                  
                         devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                         createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                         setStateDelayed(devicename, used, 800);
                  
                         devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                         createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                         setStateDelayed(devicename, total, 800);
                  
                         devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                         createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                         setStateDelayed(devicename, rss, 800);
                  
                         devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                         createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                         setStateDelayed(devicename, con, 800);
                         
                     });
                      
                     setStateDelayed('Adapter.Anzahl', counter, 800);
                  
                     function isState(strStatePath, strict) {
                         let mSelector;
                         if (strict) {
                             mSelector = $('state[id=' + strStatePath + '$]');
                         } else {
                             mSelector = $('state[id=' + strStatePath + ']');
                         }
                         if (mSelector.length > 0) {
                             return true;
                         } else {
                             return false;
                         }
                     }  
                  });    
                     
                             
                  

                  Hier ist noch meine Vis mit den angepassten Datenpunkten

                  AdapterVis.txt

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

                  @Oli

                  Habe das Skript mal getestet , leider Fehler:
                  Muss ich was anpassen?

                  13.12.2019, 20:01:53.887	[info ]: javascript.0 (3888) Stop script script.js.Status.Status_Adapter
                  13.12.2019, 20:01:53.891	[info ]: javascript.0 (3888) Start javascript script.js.Status.Status_Adapter
                  13.12.2019, 20:01:53.895	[info ]: javascript.0 (3888) script.js.Status.Status_Adapter: registered 1 subscription and 0 schedules
                  13.12.2019, 20:01:56.519	[warn ]: javascript.0 (3888)     at script.js.Status.Status_Adapter:40:31
                  13.12.2019, 20:01:56.519	[warn ]: javascript.0 (3888)     at Object.<anonymous> (script.js.Status.Status_Adapter:9:18)
                  13.12.2019, 20:01:56.549	[error]: javascript.0 (3888)     at script.js.Status.Status_Adapter:10:38
                  13.12.2019, 20:01:56.550	[error]: javascript.0 (3888)     at Object.<anonymous> (script.js.Status.Status_Adapter:9:18)
                  
                  javascript.0	2019-12-13 20:05:27.445	warn	(3888) You are assigning a object to the state "javascript.0.Adapter.Adapter46.Connected" which expects a number. Please fix your code to use a number or change the state type to object. This warning
                  

                  Objekte werden angelegt. Werte kommen. Skript geht aber auf Pause.
                  Anzahl Objekte sind 0

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

                  O 1 Antwort Letzte Antwort
                  0
                  • sigi234S sigi234

                    @Oli

                    Habe das Skript mal getestet , leider Fehler:
                    Muss ich was anpassen?

                    13.12.2019, 20:01:53.887	[info ]: javascript.0 (3888) Stop script script.js.Status.Status_Adapter
                    13.12.2019, 20:01:53.891	[info ]: javascript.0 (3888) Start javascript script.js.Status.Status_Adapter
                    13.12.2019, 20:01:53.895	[info ]: javascript.0 (3888) script.js.Status.Status_Adapter: registered 1 subscription and 0 schedules
                    13.12.2019, 20:01:56.519	[warn ]: javascript.0 (3888)     at script.js.Status.Status_Adapter:40:31
                    13.12.2019, 20:01:56.519	[warn ]: javascript.0 (3888)     at Object.<anonymous> (script.js.Status.Status_Adapter:9:18)
                    13.12.2019, 20:01:56.549	[error]: javascript.0 (3888)     at script.js.Status.Status_Adapter:10:38
                    13.12.2019, 20:01:56.550	[error]: javascript.0 (3888)     at Object.<anonymous> (script.js.Status.Status_Adapter:9:18)
                    
                    javascript.0	2019-12-13 20:05:27.445	warn	(3888) You are assigning a object to the state "javascript.0.Adapter.Adapter46.Connected" which expects a number. Please fix your code to use a number or change the state type to object. This warning
                    

                    Objekte werden angelegt. Werte kommen. Skript geht aber auf Pause.
                    Anzahl Objekte sind 0

                    O Offline
                    O Offline
                    Oli
                    schrieb am zuletzt editiert von Oli
                    #43

                    @sigi234

                    was meinst du mit Pause?

                    Die Warnungen bringt er nur das erste mal, bis die Datenpunkte angelegt sind.

                    Gruß
                    Oliver

                    sigi234S 1 Antwort Letzte Antwort
                    0
                    • O Oli

                      @sigi234

                      was meinst du mit Pause?

                      Die Warnungen bringt er nur das erste mal, bis die Datenpunkte angelegt sind.

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

                      @Oli sagte in View Adapter Status:

                      was meinst du mit Pause?

                      Screenshot (925)_LI.jpg

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

                      O 1 Antwort Letzte Antwort
                      0
                      • sigi234S sigi234

                        @Oli sagte in View Adapter Status:

                        was meinst du mit Pause?

                        Screenshot (925)_LI.jpg

                        O Offline
                        O Offline
                        Oli
                        schrieb am zuletzt editiert von
                        #45

                        @sigi234

                        sorry, ich habe meine Datenpunkte jetzt 3 mal gelöscht und vom Script wieder anlegen lassen, ich kann den Fehler nicht nachstellen.

                        Vielleicht liegt es auch an der Javascript Version, ich benutze die 3.6.12, ich habe gesehen du hast schon eine höhere im Gebrauch.

                        Gruß
                        Oliver

                        sigi234S 1 Antwort Letzte Antwort
                        0
                        • O Oli

                          @sigi234

                          sorry, ich habe meine Datenpunkte jetzt 3 mal gelöscht und vom Script wieder anlegen lassen, ich kann den Fehler nicht nachstellen.

                          Vielleicht liegt es auch an der Javascript Version, ich benutze die 3.6.12, ich habe gesehen du hast schon eine höhere im Gebrauch.

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

                          @Oli sagte in View Adapter Status:

                          Vielleicht liegt es auch an der Javascript Version, ich benutze die 3.6.12, ich habe gesehen du hast schon eine höhere im Gebrauch.

                          Das kann sein. Trotzdem Danke.

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

                          1 Antwort Letzte Antwort
                          0
                          • v522533V v522533

                            @Oli

                            Danke Dir

                            O Offline
                            O Offline
                            Oli
                            schrieb am zuletzt editiert von
                            #47

                            @v522533

                            hast du den gleichen Fehler wie @sigi234 oder funktioniert es bei dir?

                            Gruß
                            Oliver

                            1 Antwort Letzte Antwort
                            0
                            • K Kuddel

                              @sigi234 wie hast du die farbliche formatierung bei deinen Logs hinbekommen?

                              Dass z.b. "error" in rot angezeigt wird?

                              Aktuell sieht es bei mir so aus:

                              16d7d299-1da4-41fd-94dd-37f910346b30-grafik.png

                              Irgendwie bin ich nicht mit den Zeilenumbrüchen zufrieden.

                              Habe line-hight auf 0.5, damit die Abstände zwischend ein einzelnen Einträgen gering sind.
                              Leider verschieben sich die Zeilen bei einem Umbruch dann ineinander

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

                              @Kuddel sagte in View Adapter Status:

                              Dass z.b. "error" in rot angezeigt wird?

                              Geht bei mir automatisch

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

                              O 1 Antwort Letzte Antwort
                              0
                              • sigi234S sigi234

                                @Kuddel sagte in View Adapter Status:

                                Dass z.b. "error" in rot angezeigt wird?

                                Geht bei mir automatisch

                                O Offline
                                O Offline
                                Oli
                                schrieb am zuletzt editiert von
                                #49

                                @sigi234

                                coole Sache mit den Pfeilen, ich weis nicht ob es die bekannt ist, wenn du bei den Pfeilen im text-align auf "center" stellst werden die Pfeile zentriert.

                                e2172ec6-abd6-4c2c-a064-12b8ab1cc351-image.png

                                Ich habe auch deine Wigets für die Adapternamen entfernt und mach das über das Borderwiget mit Binding

                                "{wert:javascript.0.Adapter.Adapter1.Connected; wert<1 ? "#ff0000" :: wert == 1 ? "#d7cec1" :: wert == 2 ? "orange" :: "#202020"}"

                                Gruß
                                Oliver

                                K 1 Antwort Letzte Antwort
                                0
                                • K Kuddel

                                  @sigi234 wie hast du die farbliche formatierung bei deinen Logs hinbekommen?

                                  Dass z.b. "error" in rot angezeigt wird?

                                  Aktuell sieht es bei mir so aus:

                                  16d7d299-1da4-41fd-94dd-37f910346b30-grafik.png

                                  Irgendwie bin ich nicht mit den Zeilenumbrüchen zufrieden.

                                  Habe line-hight auf 0.5, damit die Abstände zwischend ein einzelnen Einträgen gering sind.
                                  Leider verschieben sich die Zeilen bei einem Umbruch dann ineinander

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

                                  @Kuddel sagte in View Adapter Status:

                                  @sigi234 wie hast du die farbliche formatierung bei deinen Logs hinbekommen?

                                  Dass z.b. "error" in rot angezeigt wird?

                                  In CSS

                                  .log-info{ color: #0B610B; font-weight: bold; }
                                  .log-warn { color: #ffaa00; font-weight: bold; }
                                  .log-error{ color: red; font-weight: bold;}
                                  
                                  

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

                                  K 1 Antwort Letzte Antwort
                                  0
                                  • GlasfaserG Glasfaser

                                    @Kuddel sagte in View Adapter Status:

                                    @sigi234 wie hast du die farbliche formatierung bei deinen Logs hinbekommen?

                                    Dass z.b. "error" in rot angezeigt wird?

                                    In CSS

                                    .log-info{ color: #0B610B; font-weight: bold; }
                                    .log-warn { color: #ffaa00; font-weight: bold; }
                                    .log-error{ color: red; font-weight: bold;}
                                    
                                    
                                    K Offline
                                    K Offline
                                    Kuddel
                                    schrieb am zuletzt editiert von
                                    #51

                                    @Glasfaser danke, funtktioniert :-)

                                    1 Antwort Letzte Antwort
                                    0
                                    • O Oli

                                      @v522533

                                      anbei das Script, es werden für jeden Adapter einzelne Datenpunkte angelegt. Das automatische entfernen eines Adapters funktioniert noch nicht, daran arbeite ich momentan noch.

                                      38a2687e-9550-48a1-9af9-1c5bbcf4c353-image.png

                                      Ich hoffe es funktioniert bei dir, konnte es bisher nur auf meine Bedürfnisse testen.

                                      // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                                      
                                      on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                                         createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                                         //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                                         var counter =0;        
                                      
                                         var cacheSelector = $('[id=system.adapter.*.alive]');    
                                         cacheSelector.each(function(id, i) {        
                                             var devicename = getObject(id).common.name;             
                                             var devicenameName=devicename;
                                             var test = devicenameName;
                                             var devicename_array = devicenameName.split(' ');        
                                             devicenameName = devicename_array[0];
                                      
                                             counter = counter+1; 
                                                 
                                             var strStatePath = "system.adapter." + devicenameName + ".alive";
                                             if (isState(strStatePath, true)) {
                                                 var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                                                 var tage = Math.floor(uptime / (24*3600));
                                                 var stunden = Math.floor((uptime % (24*3600))/3600);
                                                 var minuten = Math.floor((uptime % (3600))/60);
                                                 var sekunden = Math.floor(uptime % 60);
                                                 uptime = tage.toString()+" Tag(e), "+stunden.toString()+" Std., "+minuten.toString()+" Min. ";
                                      
                                                 var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                                                 var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                                                 var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                                                 var connect = getState("system.adapter." + devicenameName + ".alive").val;            
                                      
                                                 if(connect == false){
                                                     var con = 0;    
                                                 } else {                
                                                     var con = 1;                                             
                                                 } 
                                      
                                                 var strStatePath = devicenameName + ".info.connection";
                                                 if (isState(strStatePath, true)) {
                                                     var connectS = getState(devicenameName + ".info.connection").val;
                                                 }
                                      
                                                 if (connectS == false) {
                                                     con = 2;
                                                 }                                                 
                                             }       
                                             
                                             var contentstring = devicenameName;
                                             var suchstring = /(ical)/g; 
                                             var suchergebnis = suchstring.test( contentstring );
                                             
                                             if (suchergebnis != true) {
                                                 var devicename_array = devicenameName.split('.');        
                                                 devicenameName = devicename_array[0];
                                             }    
                                      
                                             if (devicenameName == "daswetter") {
                                                 var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                                             } else if (suchergebnis != false) {
                                                 var devicename_array = devicenameName.split('.');        
                                                 var icalName = devicename_array[0];        
                                                 var bild = "/" + icalName + ".admin/" + icalName + ".png";
                                             } else {
                                                 var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                                             }
                                                 
                                             devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase(); 
                                             
                                             devicename="Adapter.Adapter"+counter.toString()+".NameAdapter";
                                             createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                                             setStateDelayed(devicename, devicenameName, 800);
                                      
                                             devicename="Adapter.Adapter"+counter.toString()+".Bild";
                                             createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                                             setStateDelayed(devicename, bild, 800);
                                      
                                             devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                                             createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                                             setStateDelayed(devicename, uptime, 800);
                                      
                                             devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                                             createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                                             setStateDelayed(devicename, used, 800);
                                      
                                             devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                                             createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                                             setStateDelayed(devicename, total, 800);
                                      
                                             devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                                             createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                                             setStateDelayed(devicename, rss, 800);
                                      
                                             devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                                             createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                                             setStateDelayed(devicename, con, 800);
                                             
                                         });
                                          
                                         setStateDelayed('Adapter.Anzahl', counter, 800);
                                      
                                         function isState(strStatePath, strict) {
                                             let mSelector;
                                             if (strict) {
                                                 mSelector = $('state[id=' + strStatePath + '$]');
                                             } else {
                                                 mSelector = $('state[id=' + strStatePath + ']');
                                             }
                                             if (mSelector.length > 0) {
                                                 return true;
                                             } else {
                                                 return false;
                                             }
                                         }  
                                      });    
                                         
                                                 
                                      

                                      Hier ist noch meine Vis mit den angepassten Datenpunkten

                                      AdapterVis.txt

                                      K Offline
                                      K Offline
                                      Kuddel
                                      schrieb am zuletzt editiert von
                                      #52

                                      @Oli habe mir dein skript mal kopiert und fange geade an mich einzulesen und das auf meine bedürfnisse anzupassen, wie z.b. ausklammern der ICAL-Instanzen.

                                      Habe schonmal die ersten Zeilen angeasst für Uptime

                                      if (tage == 1) {uptime = tage.toString()+" Tag, "+stunden.toString()+" Std., "+minuten.toString()+" Min. ";};
                                      if (tage != 1) {uptime = tage.toString()+" Tage, "+stunden.toString()+" Std., "+minuten.toString()+" Min. ";}
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • O Oli

                                        @sigi234

                                        coole Sache mit den Pfeilen, ich weis nicht ob es die bekannt ist, wenn du bei den Pfeilen im text-align auf "center" stellst werden die Pfeile zentriert.

                                        e2172ec6-abd6-4c2c-a064-12b8ab1cc351-image.png

                                        Ich habe auch deine Wigets für die Adapternamen entfernt und mach das über das Borderwiget mit Binding

                                        "{wert:javascript.0.Adapter.Adapter1.Connected; wert<1 ? "#ff0000" :: wert == 1 ? "#d7cec1" :: wert == 2 ? "orange" :: "#202020"}"

                                        K Offline
                                        K Offline
                                        Kuddel
                                        schrieb am zuletzt editiert von Kuddel
                                        #53

                                        @Oli ich habe mir deinen View kopiert und passe den gerade an.

                                        Leider wird das Bild nicht korrekt angezeigt.

                                        Im Datenobjekt selber, sind die Werte aber korrekt eingetragen:

                                        546e6a0a-8941-4dba-83dc-4b7bbcab3101-grafik.png

                                        EDIT: Das Bild wird doch korrekt angezeigt.

                                        Kann ich es auch unter "Signalbilder" verwenen, damit das Bild blinkt, wenn der Adapter nicht connected ist ?

                                        EDIT2: Funktioniert. Im VIS Editor werden die BIlder nur nicht angezeigt, in der letzlichen VIS schon

                                        O 1 Antwort Letzte Antwort
                                        0
                                        • sigi234S sigi234

                                          @ub-privat sagte in View Adapter Status:

                                          Leider tut sich bei mir nichts mit dem "Farbwechsel"... Woran kann das liegen?

                                          DP und z-index Richtig eingestellt?

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

                                          @sigi234 said in View Adapter Status:

                                          @ub-privat sagte in View Adapter Status:

                                          Leider tut sich bei mir nichts mit dem "Farbwechsel"... Woran kann das liegen?

                                          DP und z-index Richtig eingestellt?
                                          a4072a34-bf60-41a9-bfa7-ce9504b9dd9f-grafik.png

                                          Hallo Sigi234, danke für deine Antwort. Habe noch hin und her probiert, leider ohne Erfolg.
                                          Die Datenpunkte für die Texte werden einwandfrei ausgelesen.
                                          Leider wird der Status mit dem gewünschten Farbumschlag nicht erreicht (siehe Widget gestrichelt).
                                          Hier nochmals die Config des Widget:
                                          b6bd29c0-d181-4a94-8e63-76f47633fd88-grafik.png

                                          Also deine Hinweise DP und Z-Index habe ich überprüft und denke das diese richtig sind!
                                          Gibt's eventuell noch andere Dinge, welche beachtet werden müssen?

                                          sigi234S 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

                                          376

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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