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

      @sigi234

      danke

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

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

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

        Aktuell sieht es bei mir so aus:

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

        Irgendwie bin ich nicht mit den Zeilenumbrüchen zufrieden.

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

        sigi234 Glasfaser 2 Replies Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            845
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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