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.
    • v522533
      v522533 @Oli last edited by

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

        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.

        Nashra 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            913
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            view view adapter
                                            31
                                            212
                                            24232
                                            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