Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. View Adapter Status

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

View Adapter Status

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
view adapterview
212 Posts 31 Posters 40.3k Views 52 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • BanditFGB Offline
    BanditFGB Offline
    BanditFG
    wrote on last edited by
    #26

    hallo ich bekomme das mit der Betriebszeit (Uptime) der Adapter nicht hin, kann mir da jemand helfen??

    1 Reply Last reply
    0
    • 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.

      P Offline
      P Offline
      PatrickFro
      wrote on last edited by
      #27

      @sigi234 Wie immer super aussehen, man sieht die viele Arbeit...

      Könntest Du das Log-View zur Verfügung stellen?

      sigi234S 1 Reply Last reply
      0
      • P PatrickFro

        @sigi234 Wie immer super aussehen, man sieht die viele Arbeit...

        Könntest Du das Log-View zur Verfügung stellen?

        sigi234S Online
        sigi234S Online
        sigi234
        Forum Testing Most Active
        wrote on last edited by sigi234
        #28

        @PatrickFro sagte in View Adapter Status:

        @sigi234 Wie immer super aussehen, man sieht die viele Arbeit...

        Könntest Du das Log-View zur Verfügung stellen?

        VIEW_Log_sigi234.txt

        Skript von @Mic nötig:
        https://forum.iobroker.net/topic/13971/vorlage-js-log-datei-aufbereiten-für-vis

        müll.png

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

        1 Reply Last reply
        2
        • P Offline
          P Offline
          PatrickFro
          wrote on last edited by
          #29

          Vielen Dank! Das Skript hatte ich sogar schon genutzt, die Ausgabe gefiel mir aber nicht ;-)

          1 Reply Last reply
          0
          • K Offline
            K Offline
            Kuddel
            wrote on last edited by
            #30

            habe auch angefangen, meine Adapter-Übersicht umzubauen.

            Mal sehen wie das passt vom Platz her...

            e0279b03-a9aa-44e3-b831-aeaf5e3d8fb6-grafik.png

            O 1 Reply Last reply
            0
            • K Kuddel

              habe auch angefangen, meine Adapter-Übersicht umzubauen.

              Mal sehen wie das passt vom Platz her...

              e0279b03-a9aa-44e3-b831-aeaf5e3d8fb6-grafik.png

              O Online
              O Online
              Oli
              wrote on last edited by Oli
              #31

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

              Gruß
              Oliver

              sigi234S v522533V 2 Replies Last reply
              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?

                sigi234S Online
                sigi234S Online
                sigi234
                Forum Testing Most Active
                wrote on last edited by sigi234
                #32

                @Oli sagte in View Adapter Status:

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

                Ja, ist aber sehr speziell

                View_Yamaha_sigi234.txt

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

                O 2 Replies Last reply
                1
                • sigi234S sigi234

                  @Oli sagte in View Adapter Status:

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

                  Ja, ist aber sehr speziell

                  View_Yamaha_sigi234.txt

                  O Online
                  O Online
                  Oli
                  wrote on last edited by
                  #33

                  @sigi234

                  das kann ich mir vorstellen :-) , ich änder alles ab, was bei mir nicht passt

                  Gruß
                  Oliver

                  1 Reply Last reply
                  0
                  • sigi234S sigi234

                    @Oli sagte in View Adapter Status:

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

                    Ja, ist aber sehr speziell

                    View_Yamaha_sigi234.txt

                    O Online
                    O Online
                    Oli
                    wrote on last edited by
                    #34

                    @sigi234

                    danke

                    Gruß
                    Oliver

                    1 Reply Last reply
                    0
                    • 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
                      wrote on last edited by 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 Replies Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        0
                        • J Offline
                          J Offline
                          jerzimeik
                          wrote on last edited by
                          #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 Reply Last reply
                          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
                            wrote on last edited by
                            #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 Reply Last reply
                            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 Online
                              O Online
                              Oli
                              wrote on last edited by 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 Replies Last reply
                              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
                                wrote on last edited by
                                #40

                                @Oli

                                Danke Dir

                                Gruß Chris

                                O 2 Replies Last reply
                                0
                                • v522533V v522533

                                  @Oli

                                  Danke Dir

                                  O Online
                                  O Online
                                  Oli
                                  wrote on last edited by
                                  #41

                                  @v522533

                                  Viel Spaß beim testen

                                  Gruß
                                  Oliver

                                  1 Reply Last reply
                                  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
                                    wrote on last edited by 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 Reply Last reply
                                    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 Online
                                      O Online
                                      Oli
                                      wrote on last edited by 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 Reply Last reply
                                      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
                                        wrote on last edited by
                                        #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 Reply Last reply
                                        0
                                        • sigi234S sigi234

                                          @Oli sagte in View Adapter Status:

                                          was meinst du mit Pause?

                                          Screenshot (925)_LI.jpg

                                          O Online
                                          O Online
                                          Oli
                                          wrote on last edited by
                                          #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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          715

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe