Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. View Adapter Status

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    View Adapter Status

    This topic has been deleted. Only users with topic management privileges can see it.
    • Nashra
      Nashra Most Active Forum Testing @jerzimeik last edited by

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

      1 Reply Last reply Reply Quote 0
      • O
        Oli @v522533 last edited by 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

        v522533 sigi234 K 3 Replies Last reply Reply Quote 2
        • v522533
          v522533 @Oli last edited by

          @Oli

          Danke Dir

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

            @v522533

            Viel Spaß beim testen

            1 Reply Last reply Reply Quote 0
            • sigi234
              sigi234 Forum Testing Most Active @Oli last edited by 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 1 Reply Last reply Reply Quote 0
              • O
                Oli @sigi234 last edited by Oli

                @sigi234

                was meinst du mit Pause?

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

                sigi234 1 Reply Last reply Reply Quote 0
                • sigi234
                  sigi234 Forum Testing Most Active @Oli last edited by

                  @Oli sagte in View Adapter Status:

                  was meinst du mit Pause?

                  Screenshot (925)_LI.jpg

                  O 1 Reply Last reply Reply Quote 0
                  • O
                    Oli @sigi234 last edited by

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

                    sigi234 1 Reply Last reply Reply Quote 0
                    • sigi234
                      sigi234 Forum Testing Most Active @Oli last edited by

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

                      1 Reply Last reply Reply Quote 0
                      • O
                        Oli @v522533 last edited by

                        @v522533

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

                        1 Reply Last reply Reply Quote 0
                        • sigi234
                          sigi234 Forum Testing Most Active @Kuddel last edited by

                          @Kuddel sagte in View Adapter Status:

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

                          Geht bei mir automatisch

                          O 1 Reply Last reply Reply Quote 0
                          • O
                            Oli @sigi234 last edited by

                            @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 1 Reply Last reply Reply Quote 0
                            • Glasfaser
                              Glasfaser @Kuddel last edited by

                              @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 1 Reply Last reply Reply Quote 0
                              • K
                                Kuddel @Glasfaser last edited by

                                @Glasfaser danke, funtktioniert 🙂

                                1 Reply Last reply Reply Quote 0
                                • K
                                  Kuddel @Oli last edited by

                                  @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 Reply Last reply Reply Quote 0
                                  • K
                                    Kuddel @Oli last edited by Kuddel

                                    @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 Reply Last reply Reply Quote 0
                                    • ub.privat
                                      ub.privat @sigi234 last edited by

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

                                      sigi234 1 Reply Last reply Reply Quote 0
                                      • sigi234
                                        sigi234 Forum Testing Most Active @ub.privat last edited by

                                        @ub-privat sagte in View Adapter Status:

                                        Gibt's eventuell noch andere Dinge, welche beachtet werden müssen?

                                        Ist das in der Runtime auch so, das siehst du erst dort. Teste mal.

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

                                          @sigi234

                                          keine Zustandsdarstellung, leider...
                                          02b4d991-2d0e-4c06-aa30-05d6f89a06e3-grafik.png

                                          sigi234 Negalein 2 Replies Last reply Reply Quote 0
                                          • sigi234
                                            sigi234 Forum Testing Most Active @ub.privat last edited by

                                            @ub-privat

                                            Stell das Widget mal rein

                                            ub.privat 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            608
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            view view adapter
                                            31
                                            212
                                            25491
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo