Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Vorstellung] Meine dritte VIS

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

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

[Vorstellung] Meine dritte VIS

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
visvis projekte
640 Posts 83 Posters 184.6k Views 117 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.
  • W Offline
    W Offline
    WeiserWolf
    wrote on last edited by
    #488

    @kuddel okay, manchmal kann es so einfach sein und man ist dennoch zu blöd dafür. Vielen Dank. 👍

    1 Reply Last reply
    0
    • maximal1981M Offline
      maximal1981M Offline
      maximal1981
      wrote on last edited by
      #489

      @Kuddel mir haben sich noch 3 Fragen aufgetan:

      • Akku Details: was müsste man ändern, um screenOn zB. auf 25% zu erhöhen, komme mit der kilometerlangen URL nicht klar
      • bei mir sieht im Menü unter anderem das OG nicht korrekt aus, vermute es sollte ein Untermenü geben:
        Unbenannt.PNG
        Beschriftung: {"itemText": "Obergeschoss", "subItems": ["Schlafzimmer", "Ankleide"]}
      • wie kann ich zB. im Schlafzimmer MainView noch ein Widget hinzufügen? Wenn ich versuche eines zu kopieren, habe ich ein transparentes Widget.

      ich mache eine 4. dazu:
      Wie lange bist du an dem Teil gesessen? Ich brauche ja schon ewig zum Umbauen. 😲

      K 1 Reply Last reply
      0
      • maximal1981M maximal1981

        @Kuddel mir haben sich noch 3 Fragen aufgetan:

        • Akku Details: was müsste man ändern, um screenOn zB. auf 25% zu erhöhen, komme mit der kilometerlangen URL nicht klar
        • bei mir sieht im Menü unter anderem das OG nicht korrekt aus, vermute es sollte ein Untermenü geben:
          Unbenannt.PNG
          Beschriftung: {"itemText": "Obergeschoss", "subItems": ["Schlafzimmer", "Ankleide"]}
        • wie kann ich zB. im Schlafzimmer MainView noch ein Widget hinzufügen? Wenn ich versuche eines zu kopieren, habe ich ein transparentes Widget.

        ich mache eine 4. dazu:
        Wie lange bist du an dem Teil gesessen? Ich brauche ja schon ewig zum Umbauen. 😲

        K Offline
        K Offline
        Kuddel
        wrote on last edited by
        #490

        @maximal1981

        Zur 1. Frage: Was genau willst du machen ? 25% Akkukapazität und OnScreen ?

        Zur 2. Frage: Welche version vom "Material Design Widgets" nutzt du ? Meine VIS läuft mit v 0.2.54

        Zur 3. Frage: Wenn du ein bestendes Widget kopierst, ist es normal, dass es nichts anzeigt, da es ein View in Widget ist, dass eine andere Seite darstellen soll. Eine andere Seite kann immer nur ein Mal angezeigt werden.
        Ändere einfach im kopierten Widget den Eintrag "Viewname" und hinterege dort eine andere Seite

        Zur 4. Frage. Mit dem Thema VIS beschäftige ich mich jetzt seit ca. 4 Jahre. Die meiste Arbeit habe ich in meine VIS V2 gesteckt. Da war ich bestimmt ein halbes Jahr mit beschäftigt. Die VIS V3 ist eine Weiterentwicklung und verwendet nur ein anderes Menü.

        Fertig ist man ja aber nie ^^

        maximal1981M 1 Reply Last reply
        1
        • K Kuddel

          @maximal1981

          Zur 1. Frage: Was genau willst du machen ? 25% Akkukapazität und OnScreen ?

          Zur 2. Frage: Welche version vom "Material Design Widgets" nutzt du ? Meine VIS läuft mit v 0.2.54

          Zur 3. Frage: Wenn du ein bestendes Widget kopierst, ist es normal, dass es nichts anzeigt, da es ein View in Widget ist, dass eine andere Seite darstellen soll. Eine andere Seite kann immer nur ein Mal angezeigt werden.
          Ändere einfach im kopierten Widget den Eintrag "Viewname" und hinterege dort eine andere Seite

          Zur 4. Frage. Mit dem Thema VIS beschäftige ich mich jetzt seit ca. 4 Jahre. Die meiste Arbeit habe ich in meine VIS V2 gesteckt. Da war ich bestimmt ein halbes Jahr mit beschäftigt. Die VIS V3 ist eine Weiterentwicklung und verwendet nur ein anderes Menü.

          Fertig ist man ja aber nie ^^

          maximal1981M Offline
          maximal1981M Offline
          maximal1981
          wrote on last edited by
          #491

          @kuddel das ging aber fix

            1. da mein Akku schon "leicht" defekt ist, geht sreenOn unter, und würde gerne die Höhe im Diagramm auf 20-25% von den 100 in der Darstellung erhöhen. Die müssen in China für meinen Tauschakku erst die Elemente schürfen scheint mir.
              Unbenannt2a.PNG
            1. Material Design Widgets 0.5.5
            1. muss ich mir nochmal ansehen
            1. dacht ich mir, dass hier viel Zeit reingeflossen ist. Ich komme immer nur am Abend ein wenig dazu, und wenn ich mir ansehe wie viele Scripts noch nicht laufen und angepasst wurden, hab ich noch etliche Abende vor mir.
          GlasfaserG K 2 Replies Last reply
          0
          • maximal1981M maximal1981

            @kuddel das ging aber fix

              1. da mein Akku schon "leicht" defekt ist, geht sreenOn unter, und würde gerne die Höhe im Diagramm auf 20-25% von den 100 in der Darstellung erhöhen. Die müssen in China für meinen Tauschakku erst die Elemente schürfen scheint mir.
                Unbenannt2a.PNG
              1. Material Design Widgets 0.5.5
              1. muss ich mir nochmal ansehen
              1. dacht ich mir, dass hier viel Zeit reingeflossen ist. Ich komme immer nur am Abend ein wenig dazu, und wenn ich mir ansehe wie viele Scripts noch nicht laufen und angepasst wurden, hab ich noch etliche Abende vor mir.
            GlasfaserG Offline
            GlasfaserG Offline
            Glasfaser
            wrote on last edited by
            #492

            @maximal1981 sagte in [Vorstellung] Meine dritte VIS:

            Material Design Widgets 0.5.5

            Änderungen siehe hier :

            @glasfaser sagte in [Vorstellung] Meine dritte VIS:
            @samot13 sagte in [Vorstellung] Meine dritte VIS:

            Probleme mit dem Submenues.

            hier ist es erklärt was man ändern muß :

            https://forum.iobroker.net/topic/29660/material-design-widgets-top-app-bar-widget/207?_=1617005272342

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

            1 Reply Last reply
            0
            • maximal1981M maximal1981

              @kuddel das ging aber fix

                1. da mein Akku schon "leicht" defekt ist, geht sreenOn unter, und würde gerne die Höhe im Diagramm auf 20-25% von den 100 in der Darstellung erhöhen. Die müssen in China für meinen Tauschakku erst die Elemente schürfen scheint mir.
                  Unbenannt2a.PNG
                1. Material Design Widgets 0.5.5
                1. muss ich mir nochmal ansehen
                1. dacht ich mir, dass hier viel Zeit reingeflossen ist. Ich komme immer nur am Abend ein wenig dazu, und wenn ich mir ansehe wie viele Scripts noch nicht laufen und angepasst wurden, hab ich noch etliche Abende vor mir.
              K Offline
              K Offline
              Kuddel
              wrote on last edited by
              #493

              @maximal1981

              zu 1: kopiere mal diesen Code in dein Widget

              http://192.168.4.161:8082/flot/index.html?l%5B0%5D%5Bid%5D=javascript.0.android_akkus.tablet&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=average&l%5B0%5D%5Bcolor%5D=%2341f316&l%5B0%5D%5Bmin%5D=0&l%5B0%5D%5Bmax%5D=100&l%5B0%5D%5Bthickness%5D=3&l%5B0%5D%5Bshadowsize%5D=3&l%5B0%5D%5Bunit%5D=%25&l%5B0%5D%5Byaxe%5D=right&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5Bfill%5D=0&l%5B0%5D%5Bpoints%5D=false&l%5B0%5D%5BchartType%5D=line&l%5B0%5D%5BafterComma%5D=0&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=10&l%5B0%5D%5BspaceLength%5D=10&l%5B0%5D%5Bname%5D=Akkustand&l%5B0%5D%5BignoreNull%5D=true&l%5B1%5D%5Bid%5D=fullybrowser.0.192_168_4_17.Info.isScreenOn&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Baggregate%5D=max&l%5B1%5D%5Bcolor%5D=yellow&l%5B1%5D%5Bmin%5D=0.1&l%5B1%5D%5Bmax%5D=5&l%5B1%5D%5Bthickness%5D=3&l%5B1%5D%5Bshadowsize%5D=3&l%5B1%5D%5Bname%5D=Display+An&l%5B1%5D%5BchartType%5D=steps&l%5B1%5D%5Bfill%5D=1&l%5B1%5D%5Byaxe%5D=off&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5BignoreNull%5D=true&l%5B1%5D%5BafterComma%5D=0&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&l%5B2%5D%5Bid%5D=alias.0.Wohnzimmer.SD_WZ_Tablet.SET&l%5B2%5D%5Boffset%5D=0&l%5B2%5D%5Baggregate%5D=max&l%5B2%5D%5Bcolor%5D=red&l%5B2%5D%5Bmin%5D=0.1&l%5B2%5D%5Bmax%5D=50&l%5B2%5D%5Bthickness%5D=3&l%5B2%5D%5Bshadowsize%5D=3&l%5B2%5D%5Bname%5D=Ladevorgang&l%5B2%5D%5BchartType%5D=steps&l%5B2%5D%5Bfill%5D=1&l%5B2%5D%5Byaxe%5D=off&l%5B2%5D%5Bxaxe%5D=off&timeType=relative&relativeEnd=now&range=4320&live=300&aggregateType=count&aggregateSpan=300&width=900&height=150&noBorder=noborder&window_bg=%23303030&bg=black&x_labels_color=%23ffffff&y_labels_color=%23ffffff&border_width=1&titlePos=top%3A35%3Bleft%3A50&titleColor=%23ffffff&hoverDetail=true&timeFormat=%25H%3A%25M+%25a&useComma=false&zoom=false&noedit=true&animation=300&start=2019-02-09&start_time=15%3A48&end=2019-02-09&end_time=16%3A00&barLabels=topover&barFontColor=white&titleSize=40px&legColumns=3&legBgOpacity=0&legBg=%23303030
              

              Zu 2 hat dir @Glasfaser bereits geantwortet. Ich bin noch nicht dazu gekommen, den Adapter zu aktualisieren, da ich dann mein komplettes Menü neu machen muss

              maximal1981M 1 Reply Last reply
              0
              • K Kuddel

                @maximal1981

                zu 1: kopiere mal diesen Code in dein Widget

                http://192.168.4.161:8082/flot/index.html?l%5B0%5D%5Bid%5D=javascript.0.android_akkus.tablet&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=average&l%5B0%5D%5Bcolor%5D=%2341f316&l%5B0%5D%5Bmin%5D=0&l%5B0%5D%5Bmax%5D=100&l%5B0%5D%5Bthickness%5D=3&l%5B0%5D%5Bshadowsize%5D=3&l%5B0%5D%5Bunit%5D=%25&l%5B0%5D%5Byaxe%5D=right&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5Bfill%5D=0&l%5B0%5D%5Bpoints%5D=false&l%5B0%5D%5BchartType%5D=line&l%5B0%5D%5BafterComma%5D=0&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=10&l%5B0%5D%5BspaceLength%5D=10&l%5B0%5D%5Bname%5D=Akkustand&l%5B0%5D%5BignoreNull%5D=true&l%5B1%5D%5Bid%5D=fullybrowser.0.192_168_4_17.Info.isScreenOn&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Baggregate%5D=max&l%5B1%5D%5Bcolor%5D=yellow&l%5B1%5D%5Bmin%5D=0.1&l%5B1%5D%5Bmax%5D=5&l%5B1%5D%5Bthickness%5D=3&l%5B1%5D%5Bshadowsize%5D=3&l%5B1%5D%5Bname%5D=Display+An&l%5B1%5D%5BchartType%5D=steps&l%5B1%5D%5Bfill%5D=1&l%5B1%5D%5Byaxe%5D=off&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5BignoreNull%5D=true&l%5B1%5D%5BafterComma%5D=0&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&l%5B2%5D%5Bid%5D=alias.0.Wohnzimmer.SD_WZ_Tablet.SET&l%5B2%5D%5Boffset%5D=0&l%5B2%5D%5Baggregate%5D=max&l%5B2%5D%5Bcolor%5D=red&l%5B2%5D%5Bmin%5D=0.1&l%5B2%5D%5Bmax%5D=50&l%5B2%5D%5Bthickness%5D=3&l%5B2%5D%5Bshadowsize%5D=3&l%5B2%5D%5Bname%5D=Ladevorgang&l%5B2%5D%5BchartType%5D=steps&l%5B2%5D%5Bfill%5D=1&l%5B2%5D%5Byaxe%5D=off&l%5B2%5D%5Bxaxe%5D=off&timeType=relative&relativeEnd=now&range=4320&live=300&aggregateType=count&aggregateSpan=300&width=900&height=150&noBorder=noborder&window_bg=%23303030&bg=black&x_labels_color=%23ffffff&y_labels_color=%23ffffff&border_width=1&titlePos=top%3A35%3Bleft%3A50&titleColor=%23ffffff&hoverDetail=true&timeFormat=%25H%3A%25M+%25a&useComma=false&zoom=false&noedit=true&animation=300&start=2019-02-09&start_time=15%3A48&end=2019-02-09&end_time=16%3A00&barLabels=topover&barFontColor=white&titleSize=40px&legColumns=3&legBgOpacity=0&legBg=%23303030
                

                Zu 2 hat dir @Glasfaser bereits geantwortet. Ich bin noch nicht dazu gekommen, den Adapter zu aktualisieren, da ich dann mein komplettes Menü neu machen muss

                maximal1981M Offline
                maximal1981M Offline
                maximal1981
                wrote on last edited by
                #494

                @kuddel & @Glasfaser

                super 1 und 2 gelöst

                für 2 hat sich jetzt eine Bonusfrage ergeben: kann man das Untermenü wieder reduzieren wenn man in einer Unterseite war/ist?

                K 1 Reply Last reply
                0
                • maximal1981M maximal1981

                  @kuddel & @Glasfaser

                  super 1 und 2 gelöst

                  für 2 hat sich jetzt eine Bonusfrage ergeben: kann man das Untermenü wieder reduzieren wenn man in einer Unterseite war/ist?

                  K Offline
                  K Offline
                  Kuddel
                  wrote on last edited by
                  #495

                  @maximal1981 mein Stand ist nein.

                  Das Untermenü geht nicht wieder automatisch zu... leider

                  maximal1981M 1 Reply Last reply
                  0
                  • K Kuddel

                    @maximal1981 mein Stand ist nein.

                    Das Untermenü geht nicht wieder automatisch zu... leider

                    maximal1981M Offline
                    maximal1981M Offline
                    maximal1981
                    wrote on last edited by
                    #496

                    @kuddel das ist zwar schade, aber ich geh eh zum Großteil über die Icons vom MainView rein 😊

                    trotzdem besten Dank.

                    1 Reply Last reply
                    0
                    • maximal1981M Offline
                      maximal1981M Offline
                      maximal1981
                      wrote on last edited by
                      #497

                      @Kuddel ich bin es mal wieder 👶
                      ich bin gerade dabei den ioBroker-Tab in Betrieb zunehmen.

                      Jedoch stehe ich wie so oft an.
                      Ich finde vermutlich nicht mal das zugehörige Script. Möglicherweise ist es java\abfragen\adapter_widget
                      Wenn ja, hab ich schon mal das Problem, dass ich die Fehlermeldungen nicht auswerten kann.

                      Bevor ich hier unnötige Fehlermeldungen post, würde ich gerne wissen ob ich richtig bin.

                      lg

                      K 1 Reply Last reply
                      0
                      • maximal1981M maximal1981

                        @Kuddel ich bin es mal wieder 👶
                        ich bin gerade dabei den ioBroker-Tab in Betrieb zunehmen.

                        Jedoch stehe ich wie so oft an.
                        Ich finde vermutlich nicht mal das zugehörige Script. Möglicherweise ist es java\abfragen\adapter_widget
                        Wenn ja, hab ich schon mal das Problem, dass ich die Fehlermeldungen nicht auswerten kann.

                        Bevor ich hier unnötige Fehlermeldungen post, würde ich gerne wissen ob ich richtig bin.

                        lg

                        K Offline
                        K Offline
                        Kuddel
                        wrote on last edited by
                        #498

                        @maximal1981 meinst du die Anzeige der laufenden Adapter ?

                        Hier mein aktuelles Skript (java):

                        // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                        
                        schedule('*/10 * * * * *', function (obj) {
                        //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 });
                           createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                           //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                           
                           //Variablen zurücksetzen
                           var counter =0;
                           var on = 0
                           var manuell=0	
                        
                           var cacheSelector = $('[id=system.adapter.*.alive]');    
                           cacheSelector.each(function(id, i) { 
                        
                               //Instanzen ausklammer
                               var check1 = id.indexOf('system.adapter.coronavirus-statistics.0.alive');
                           	var check2 = id.indexOf('system.adapter.daswetter.0.alive');
                           	var check3 = id.indexOf('system.adapter.dwd.0.alive');
                           	var check4 = id.indexOf('system.adapter.ical.0.alive');
                           	var check5 = id.indexOf('system.adapter.ical.1.alive');
                           	var check6 = id.indexOf('system.adapter.ical.2.alive');
                           	var check7 = id.indexOf('system.adapter.feiertage.0.alive');
                           	var check8 = id.indexOf('system.adapter.kodi.0.alive');
                           	var check9 = id.indexOf('system.adapter.snmp.1.alive');
                               var check10 = id.indexOf('system.adapter.yamaha.0.alive');
                           	var check11 = id.indexOf('system.adapter.vis.0.alive');
                        
                               var check = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 + check9 + check10 + check11;
                        
                               //Abfrage nur ausführen, wenn Instanz nicht ausgeklammert ist
                               if(check == -11){
                                   var devicename = getObject(id).common.name; 
                        
                                   //console.log(devicename);
                                              
                           		var devicenameName=devicename;
                           		var instanzname=getObject(id).common.name;
                           		var test = devicenameName;
                           		var devicename_array = devicenameName.split(' ');        
                           		devicenameName = devicename_array[0];
                           		counter = counter+1; 
                           			
                           		var strStatePath = "system.adapter." + devicenameName + ".alive";
                           		
                           		//Uptime
                           		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);
                           		if (stunden < 10) {stunden = "0"+stunden};
                           		if (minuten < 10) {minuten = "0"+minuten};				
                           		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 ";}
                           		
                           		//Arbeitsspeicher etc.
                           		//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                           		//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                           		//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                           		
                           		//Connection Status
                           		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;
                           				}                                                                        
                           			} 
                           		}
                           		if(con==1) {on = on + 1}
                           		
                           								
                           		      
                           		
                           		devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                           		createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                           		setStateDelayed(devicename, devicenameName, 800);
                           		
                           		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";
                           		}
                           		
                           		//////////////////////////
                           		// Icon-Pfad definieren //
                           		//////////////////////////
                        
                           		//Alexa2
                           		if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                           		//FritzDECT
                           		if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                           		//FullyBrowser
                           		if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                           		//HM-Rega
                           		//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                           		if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                           		//HomeMatic
                           		//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                           		if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                           		//HomeMatic-IP
                           		//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                           		if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                   //Homepilot
                                   if (instanzname == 'homepilot20.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homepilot.png";}
                           		//UPNP
                           		if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                           		//Pushover.1
                           		if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                           		//Pushover.2
                           		if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                           		
                        
                           		///////////////////////
                           		//AdapterName anpassen
                           		////////////////////////
                        
                           		//Corona-Statistics
                           		if (instanzname == 'coronavirus-statistics.0 alive') {devicenameName='Corona'; manuell=1}
                           		//DasWetter
                           		if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                           		//DWD
                           		if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                           		//Fullybrowser
                           		if (instanzname == 'fullybrowser.0 alive') {devicenameName='FullyKiosk'; manuell=1}			
                           		//HM-REGA
                           		if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                           		//HM-RPC.0
                           		if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                           		//HM-RPC.1
                           		if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                                   //Homepilot
                                   if (instanzname == 'homepilot20.0 alive') {devicenameName='Homepilot'; manuell=1}
                           		//Linux-Control
                           		if (instanzname == 'linux-control.0 alive') {devicenameName='Linux-Ctr.'; manuell=1}
                           		//MiHome-Vacuum -> NoNo
                           		if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                                   //MiHome-Vacuum -> Dusty
                           		if (instanzname == 'mihome-vacuum.1 alive') {devicenameName='Dusty'; manuell=1}
                           		//Pushover
                           		if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                           		if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                           		if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                           		//Simple-API
                           		if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                           		//SNMP.0
                           		if (instanzname == 'snmp.0 alive') {devicenameName='QNAP-B'; manuell=1}
                           		//SNMP.1
                           		if (instanzname == 'snmp.1 alive') {devicenameName='QNAP-Archiv'; manuell=1}
                                   //SNMP.2
                           		if (instanzname == 'snmp.2 alive') {devicenameName='Brother'; manuell=1}
                           		//Spotify
                           		if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                           		//Tankerkoenig
                           		if (instanzname == 'tankerkoenig.0 alive') {devicenameName='Tankerk.'; manuell=1}
                           		//Tashscheduler
                           		if (instanzname == 'trashschedule.0 alive') {devicenameName='Trashsched.'; manuell=1}
                           		//TR-064.0
                           		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                           		//TR-064.1
                           		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                           		//XPEnology
                           		if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                           		
                           		
                           		
                           		//Instanz-Namen setzen
                           		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                           		//devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                           		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                           		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                           		setStateDelayed(devicename, devicenameName, 800);
                           		//Bild Pfad setzen
                           		devicename="Adapter.Adapter"+counter.toString()+".Bild";
                           		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                           		setStateDelayed(devicename, bild, 800);
                           		//Uptime setzen
                           		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                           		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                           		setStateDelayed(devicename, uptime, 800);
                           		//MemUsed setzen
                           		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                           		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                           		//setStateDelayed(devicename, used, 800);
                           		//MemToal setzen
                           		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                           		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                           		//setStateDelayed(devicename, total, 800);
                           		//MemRSS setzen
                           		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                           		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                           		//setStateDelayed(devicename, rss, 800);
                           		//Connected setzen
                           		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                           		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                           		setStateDelayed(devicename, con, 800);
                           		
                           		//Wert zurücksetzen
                           		var manuell=0
                        
                               };
                           });
                           
                           //Adaptet Icon Übersicht
                           visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                           if(on == counter){setState(visstatus, true);}
                           //if(on == counter -1){setState(visstatus, true);}
                           else{setState(visstatus, false);}
                           
                           
                           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;
                               }
                           }  
                        }); 
                        
                        on({id:"javascript.0.Adapter.AdapterNummer", change: 'any'}, function (dpobj) {
                           if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                               const instanz = "javascript." + instance;
                               var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                               var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                               var idAdapter = "system.adapter." + adapter;
                               
                               var obj = getObject(idAdapter);
                               if (dpobj.state.val == false) {
                                   obj.common.enabled = true;  // Adapter einschalten
                               } else if (dpobj.state.val == true) {
                                   obj.common.enabled = false;  // Adapter ausschalten
                               }
                               setObject(idAdapter, obj);
                               setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                           }
                        });   
                        

                        maximal1981M D 2 Replies Last reply
                        0
                        • K Kuddel

                          @maximal1981 meinst du die Anzeige der laufenden Adapter ?

                          Hier mein aktuelles Skript (java):

                          // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                          
                          schedule('*/10 * * * * *', function (obj) {
                          //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 });
                             createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                             //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                             
                             //Variablen zurücksetzen
                             var counter =0;
                             var on = 0
                             var manuell=0	
                          
                             var cacheSelector = $('[id=system.adapter.*.alive]');    
                             cacheSelector.each(function(id, i) { 
                          
                                 //Instanzen ausklammer
                                 var check1 = id.indexOf('system.adapter.coronavirus-statistics.0.alive');
                             	var check2 = id.indexOf('system.adapter.daswetter.0.alive');
                             	var check3 = id.indexOf('system.adapter.dwd.0.alive');
                             	var check4 = id.indexOf('system.adapter.ical.0.alive');
                             	var check5 = id.indexOf('system.adapter.ical.1.alive');
                             	var check6 = id.indexOf('system.adapter.ical.2.alive');
                             	var check7 = id.indexOf('system.adapter.feiertage.0.alive');
                             	var check8 = id.indexOf('system.adapter.kodi.0.alive');
                             	var check9 = id.indexOf('system.adapter.snmp.1.alive');
                                 var check10 = id.indexOf('system.adapter.yamaha.0.alive');
                             	var check11 = id.indexOf('system.adapter.vis.0.alive');
                          
                                 var check = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 + check9 + check10 + check11;
                          
                                 //Abfrage nur ausführen, wenn Instanz nicht ausgeklammert ist
                                 if(check == -11){
                                     var devicename = getObject(id).common.name; 
                          
                                     //console.log(devicename);
                                                
                             		var devicenameName=devicename;
                             		var instanzname=getObject(id).common.name;
                             		var test = devicenameName;
                             		var devicename_array = devicenameName.split(' ');        
                             		devicenameName = devicename_array[0];
                             		counter = counter+1; 
                             			
                             		var strStatePath = "system.adapter." + devicenameName + ".alive";
                             		
                             		//Uptime
                             		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);
                             		if (stunden < 10) {stunden = "0"+stunden};
                             		if (minuten < 10) {minuten = "0"+minuten};				
                             		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 ";}
                             		
                             		//Arbeitsspeicher etc.
                             		//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                             		//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                             		//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                             		
                             		//Connection Status
                             		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;
                             				}                                                                        
                             			} 
                             		}
                             		if(con==1) {on = on + 1}
                             		
                             								
                             		      
                             		
                             		devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                             		createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                             		setStateDelayed(devicename, devicenameName, 800);
                             		
                             		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";
                             		}
                             		
                             		//////////////////////////
                             		// Icon-Pfad definieren //
                             		//////////////////////////
                          
                             		//Alexa2
                             		if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                             		//FritzDECT
                             		if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                             		//FullyBrowser
                             		if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                             		//HM-Rega
                             		//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                             		if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                             		//HomeMatic
                             		//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                             		if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                             		//HomeMatic-IP
                             		//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                             		if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                     //Homepilot
                                     if (instanzname == 'homepilot20.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homepilot.png";}
                             		//UPNP
                             		if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                             		//Pushover.1
                             		if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                             		//Pushover.2
                             		if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                             		
                          
                             		///////////////////////
                             		//AdapterName anpassen
                             		////////////////////////
                          
                             		//Corona-Statistics
                             		if (instanzname == 'coronavirus-statistics.0 alive') {devicenameName='Corona'; manuell=1}
                             		//DasWetter
                             		if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                             		//DWD
                             		if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                             		//Fullybrowser
                             		if (instanzname == 'fullybrowser.0 alive') {devicenameName='FullyKiosk'; manuell=1}			
                             		//HM-REGA
                             		if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                             		//HM-RPC.0
                             		if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                             		//HM-RPC.1
                             		if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                                     //Homepilot
                                     if (instanzname == 'homepilot20.0 alive') {devicenameName='Homepilot'; manuell=1}
                             		//Linux-Control
                             		if (instanzname == 'linux-control.0 alive') {devicenameName='Linux-Ctr.'; manuell=1}
                             		//MiHome-Vacuum -> NoNo
                             		if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                                     //MiHome-Vacuum -> Dusty
                             		if (instanzname == 'mihome-vacuum.1 alive') {devicenameName='Dusty'; manuell=1}
                             		//Pushover
                             		if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                             		if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                             		if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                             		//Simple-API
                             		if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                             		//SNMP.0
                             		if (instanzname == 'snmp.0 alive') {devicenameName='QNAP-B'; manuell=1}
                             		//SNMP.1
                             		if (instanzname == 'snmp.1 alive') {devicenameName='QNAP-Archiv'; manuell=1}
                                     //SNMP.2
                             		if (instanzname == 'snmp.2 alive') {devicenameName='Brother'; manuell=1}
                             		//Spotify
                             		if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                             		//Tankerkoenig
                             		if (instanzname == 'tankerkoenig.0 alive') {devicenameName='Tankerk.'; manuell=1}
                             		//Tashscheduler
                             		if (instanzname == 'trashschedule.0 alive') {devicenameName='Trashsched.'; manuell=1}
                             		//TR-064.0
                             		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                             		//TR-064.1
                             		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                             		//XPEnology
                             		if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                             		
                             		
                             		
                             		//Instanz-Namen setzen
                             		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                             		//devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                             		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                             		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                             		setStateDelayed(devicename, devicenameName, 800);
                             		//Bild Pfad setzen
                             		devicename="Adapter.Adapter"+counter.toString()+".Bild";
                             		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                             		setStateDelayed(devicename, bild, 800);
                             		//Uptime setzen
                             		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                             		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                             		setStateDelayed(devicename, uptime, 800);
                             		//MemUsed setzen
                             		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                             		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                             		//setStateDelayed(devicename, used, 800);
                             		//MemToal setzen
                             		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                             		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                             		//setStateDelayed(devicename, total, 800);
                             		//MemRSS setzen
                             		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                             		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                             		//setStateDelayed(devicename, rss, 800);
                             		//Connected setzen
                             		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                             		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                             		setStateDelayed(devicename, con, 800);
                             		
                             		//Wert zurücksetzen
                             		var manuell=0
                          
                                 };
                             });
                             
                             //Adaptet Icon Übersicht
                             visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                             if(on == counter){setState(visstatus, true);}
                             //if(on == counter -1){setState(visstatus, true);}
                             else{setState(visstatus, false);}
                             
                             
                             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;
                                 }
                             }  
                          }); 
                          
                          on({id:"javascript.0.Adapter.AdapterNummer", change: 'any'}, function (dpobj) {
                             if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                                 const instanz = "javascript." + instance;
                                 var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                                 var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                 var idAdapter = "system.adapter." + adapter;
                                 
                                 var obj = getObject(idAdapter);
                                 if (dpobj.state.val == false) {
                                     obj.common.enabled = true;  // Adapter einschalten
                                 } else if (dpobj.state.val == true) {
                                     obj.common.enabled = false;  // Adapter ausschalten
                                 }
                                 setObject(idAdapter, obj);
                                 setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                             }
                          });   
                          

                          maximal1981M Offline
                          maximal1981M Offline
                          maximal1981
                          wrote on last edited by
                          #499

                          @kuddel danke schön

                          1 Reply Last reply
                          0
                          • K Kuddel

                            @maximal1981 meinst du die Anzeige der laufenden Adapter ?

                            Hier mein aktuelles Skript (java):

                            // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                            
                            schedule('*/10 * * * * *', function (obj) {
                            //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 });
                               createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                               //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                               
                               //Variablen zurücksetzen
                               var counter =0;
                               var on = 0
                               var manuell=0	
                            
                               var cacheSelector = $('[id=system.adapter.*.alive]');    
                               cacheSelector.each(function(id, i) { 
                            
                                   //Instanzen ausklammer
                                   var check1 = id.indexOf('system.adapter.coronavirus-statistics.0.alive');
                               	var check2 = id.indexOf('system.adapter.daswetter.0.alive');
                               	var check3 = id.indexOf('system.adapter.dwd.0.alive');
                               	var check4 = id.indexOf('system.adapter.ical.0.alive');
                               	var check5 = id.indexOf('system.adapter.ical.1.alive');
                               	var check6 = id.indexOf('system.adapter.ical.2.alive');
                               	var check7 = id.indexOf('system.adapter.feiertage.0.alive');
                               	var check8 = id.indexOf('system.adapter.kodi.0.alive');
                               	var check9 = id.indexOf('system.adapter.snmp.1.alive');
                                   var check10 = id.indexOf('system.adapter.yamaha.0.alive');
                               	var check11 = id.indexOf('system.adapter.vis.0.alive');
                            
                                   var check = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 + check9 + check10 + check11;
                            
                                   //Abfrage nur ausführen, wenn Instanz nicht ausgeklammert ist
                                   if(check == -11){
                                       var devicename = getObject(id).common.name; 
                            
                                       //console.log(devicename);
                                                  
                               		var devicenameName=devicename;
                               		var instanzname=getObject(id).common.name;
                               		var test = devicenameName;
                               		var devicename_array = devicenameName.split(' ');        
                               		devicenameName = devicename_array[0];
                               		counter = counter+1; 
                               			
                               		var strStatePath = "system.adapter." + devicenameName + ".alive";
                               		
                               		//Uptime
                               		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);
                               		if (stunden < 10) {stunden = "0"+stunden};
                               		if (minuten < 10) {minuten = "0"+minuten};				
                               		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 ";}
                               		
                               		//Arbeitsspeicher etc.
                               		//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                               		//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                               		//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                               		
                               		//Connection Status
                               		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;
                               				}                                                                        
                               			} 
                               		}
                               		if(con==1) {on = on + 1}
                               		
                               								
                               		      
                               		
                               		devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                               		createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                               		setStateDelayed(devicename, devicenameName, 800);
                               		
                               		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";
                               		}
                               		
                               		//////////////////////////
                               		// Icon-Pfad definieren //
                               		//////////////////////////
                            
                               		//Alexa2
                               		if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                               		//FritzDECT
                               		if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                               		//FullyBrowser
                               		if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                               		//HM-Rega
                               		//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                               		if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                               		//HomeMatic
                               		//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                               		if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                               		//HomeMatic-IP
                               		//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                               		if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                       //Homepilot
                                       if (instanzname == 'homepilot20.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homepilot.png";}
                               		//UPNP
                               		if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                               		//Pushover.1
                               		if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                               		//Pushover.2
                               		if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                               		
                            
                               		///////////////////////
                               		//AdapterName anpassen
                               		////////////////////////
                            
                               		//Corona-Statistics
                               		if (instanzname == 'coronavirus-statistics.0 alive') {devicenameName='Corona'; manuell=1}
                               		//DasWetter
                               		if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                               		//DWD
                               		if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                               		//Fullybrowser
                               		if (instanzname == 'fullybrowser.0 alive') {devicenameName='FullyKiosk'; manuell=1}			
                               		//HM-REGA
                               		if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                               		//HM-RPC.0
                               		if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                               		//HM-RPC.1
                               		if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                                       //Homepilot
                                       if (instanzname == 'homepilot20.0 alive') {devicenameName='Homepilot'; manuell=1}
                               		//Linux-Control
                               		if (instanzname == 'linux-control.0 alive') {devicenameName='Linux-Ctr.'; manuell=1}
                               		//MiHome-Vacuum -> NoNo
                               		if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                                       //MiHome-Vacuum -> Dusty
                               		if (instanzname == 'mihome-vacuum.1 alive') {devicenameName='Dusty'; manuell=1}
                               		//Pushover
                               		if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                               		if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                               		if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                               		//Simple-API
                               		if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                               		//SNMP.0
                               		if (instanzname == 'snmp.0 alive') {devicenameName='QNAP-B'; manuell=1}
                               		//SNMP.1
                               		if (instanzname == 'snmp.1 alive') {devicenameName='QNAP-Archiv'; manuell=1}
                                       //SNMP.2
                               		if (instanzname == 'snmp.2 alive') {devicenameName='Brother'; manuell=1}
                               		//Spotify
                               		if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                               		//Tankerkoenig
                               		if (instanzname == 'tankerkoenig.0 alive') {devicenameName='Tankerk.'; manuell=1}
                               		//Tashscheduler
                               		if (instanzname == 'trashschedule.0 alive') {devicenameName='Trashsched.'; manuell=1}
                               		//TR-064.0
                               		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                               		//TR-064.1
                               		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                               		//XPEnology
                               		if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                               		
                               		
                               		
                               		//Instanz-Namen setzen
                               		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                               		//devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                               		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                               		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                               		setStateDelayed(devicename, devicenameName, 800);
                               		//Bild Pfad setzen
                               		devicename="Adapter.Adapter"+counter.toString()+".Bild";
                               		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                               		setStateDelayed(devicename, bild, 800);
                               		//Uptime setzen
                               		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                               		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                               		setStateDelayed(devicename, uptime, 800);
                               		//MemUsed setzen
                               		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                               		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                               		//setStateDelayed(devicename, used, 800);
                               		//MemToal setzen
                               		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                               		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                               		//setStateDelayed(devicename, total, 800);
                               		//MemRSS setzen
                               		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                               		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                               		//setStateDelayed(devicename, rss, 800);
                               		//Connected setzen
                               		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                               		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                               		setStateDelayed(devicename, con, 800);
                               		
                               		//Wert zurücksetzen
                               		var manuell=0
                            
                                   };
                               });
                               
                               //Adaptet Icon Übersicht
                               visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                               if(on == counter){setState(visstatus, true);}
                               //if(on == counter -1){setState(visstatus, true);}
                               else{setState(visstatus, false);}
                               
                               
                               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;
                                   }
                               }  
                            }); 
                            
                            on({id:"javascript.0.Adapter.AdapterNummer", change: 'any'}, function (dpobj) {
                               if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                                   const instanz = "javascript." + instance;
                                   var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                                   var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                   var idAdapter = "system.adapter." + adapter;
                                   
                                   var obj = getObject(idAdapter);
                                   if (dpobj.state.val == false) {
                                       obj.common.enabled = true;  // Adapter einschalten
                                   } else if (dpobj.state.val == true) {
                                       obj.common.enabled = false;  // Adapter ausschalten
                                   }
                                   setObject(idAdapter, obj);
                                   setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                               }
                            });   
                            

                            D Offline
                            D Offline
                            djsirius
                            wrote on last edited by djsirius
                            #500

                            Ich habe den Fehler gefunden!

                            Gruß

                            djsirius

                            1 Reply Last reply
                            0
                            • K Kuddel

                              Hallo zusammen,

                              nach meiner zweiten VIS folgt jetzt meine dritte VIS.

                              Die größte Neuerung ist ein komplett neues Menü mit Hilfe des Top App Bar Widget. Vielen Dank an dieser Stelle an @Scrounger.

                              Bestimmt sind immer noch ein paar Fehler drin, aber fertig wird man ja eh nie.

                              Vieles habe ich aus meiner zweiten VIS übernommen, so dass die Screenshots aus dem Thread oben auch fast noch alle aktuell sind.

                              Screenshots:


                              Startseite
                              90372124-cd0b-40d0-ae6e-b8286ee25672-grafik.png

                              Menü
                              52f11cf6-b7f3-49c8-9344-b1a0f89d0eaa-grafik.png
                              e766325b-8727-48c0-b6e7-9f773f4f246b-grafik.png

                              BVB Details
                              423488b3-1367-4ebf-b28e-8b730970dfae-grafik.png

                              Tablet Details
                              ac924af2-ac1c-4069-a59e-6a68c8775a3f-grafik.png

                              System -> ioBroker
                              eb9f518b-c318-4a00-a66e-6879959792a4-grafik.png

                              System -> Homematic
                              1aaaed6f-8e59-4cdc-8bfd-c26185f1c28b-grafik.png

                              System -> Netzwerk
                              622fd166-ec5b-4ff3-9cbe-d5a81fd5332b-grafik.png

                              System -> Geräte
                              f20ab8dd-18f2-446e-94ac-55a74765e1ca-grafik.png

                              Details VU
                              9cdd9c50-f62a-4e3c-b01a-f911d2e8388d-grafik.png

                              System -> Logs
                              e190e53e-2a68-4e6d-ae7e-a48d069f809f-grafik.png

                              System -> VMware
                              34ffe501-5b74-4b2c-9092-2e1a8ed9f99e-grafik.png

                              Erdgeschoss -> Wohnzimmer
                              18c3b9dc-75e4-41c9-9338-ef3c827f4c86-grafik.png

                              Garten -> Bewässerung
                              160a9338-d885-42be-8ae8-2d0daa67a8f1-grafik.png

                              Wetter
                              840f00c2-b9bb-4f94-be9d-9bb5b0330947-grafik.png

                              Staubsauger
                              1343f5bc-1514-44d2-8754-9a6eff483708-grafik.png

                              Echo Geräte
                              aebe9414-69fe-46ef-86b9-9125b66e2f1d-grafik.png

                              Mutlimedia -> TV
                              d3549b5b-2178-48de-aa40-86c03343a04d-grafik.png

                              Damit die Navigation und alle Widgets funktionieren, wird vor dem Import der DP

                              javascript.0.VIS-Steuerung.Aktuelle_VIS_Seite
                              

                              benöigt.

                              Ebenso sind natürlich alle von mir verwendeten Widgets wichitg:

                              ad5673c8-1694-4fe5-9839-ca55c4dd920d-grafik.png
                              aba96ff9-f4c4-4291-a479-95ce40906c5b-grafik.png

                              Anleitung zum Import der kompletten VIS inkl. meiner Icons:


                              2020-08-17-VIS_v3.zip
                              Meine_Icons.zip

                              1. meine_icons.zip entpacken
                              2. 2020-08-17-vis_v3.zip entpacken
                              3. Die beiden VIS-Datein und die den Icons Ordner zu einem neuen Zip Archiv zusammefügen
                              4. Wie gewohnt das neue Archiv im VIS Editor importieren

                              Anleitung zum Import meiner Skripte:


                              Voraussetzung für den Skript Import

                              • Adapter: Mail, Pushover
                              • Objekte für meine Skripts

                              Objekte anlegen

                              Alle Objekte, mit denen ich in meinen Skripten arbeite, können mit einem Javascript erstellt werden:
                              objekte.txt

                              • Den Inhalt der TXT-Datei in ein neues Javascript kopieren
                              • Das Skript starten
                              • Alle Objekte werden angelegt
                              • Das Skript wieder stoppen

                              Import

                              1. Download der Datei 2020-03-17-scripts.zip
                              2. Eigene Skripte in Zip Datei exportieren
                              3. Beide Archive entpacken und dann die Skripte / Gruppen in einem gemeinsamen Archiv zusammenführen
                              4. Import des neu erstellten Archivs

                              Bei Fragen einfach im Thread stellen 😉

                              Das nächste Projekt wird dann eine VIS fürs Smartphone

                              RouwdyR Offline
                              RouwdyR Offline
                              Rouwdy
                              wrote on last edited by
                              #501

                              @kuddel hallo kuddel ich bin absoluter frischling was das programmieren hier angeht und versuche nun so pö a pö schlau zu werden, mein problem ist schon denke fehlendes grundwissen 😞 , wie genau importiere ich wo genau deine objekte / skripte ? einen mail-adapter hab ich so wie auch die von dir vorgeschlagenen adapter

                              Wirklich "WAHRE" Kameradschaft oder Freundschaft wird erst in der Not erkannt.
                              Alles andere ist leider meist eine mehr oder weniger flüchtige Bekanntschaft.

                              W 1 Reply Last reply
                              0
                              • RouwdyR Rouwdy

                                @kuddel hallo kuddel ich bin absoluter frischling was das programmieren hier angeht und versuche nun so pö a pö schlau zu werden, mein problem ist schon denke fehlendes grundwissen 😞 , wie genau importiere ich wo genau deine objekte / skripte ? einen mail-adapter hab ich so wie auch die von dir vorgeschlagenen adapter

                                W Offline
                                W Offline
                                WeiserWolf
                                wrote on last edited by
                                #502

                                @rouwdy Als erstes installierst du mal den Adapter "Script Engine" und startest danach den ioBroker neu. Anschließend erscheint links in der Übersicht der Bereich Skripte.
                                Dort gehst du oben auf die drei Punkte --> Skripts importieren und ziehst die heruntergeladene ZIP-Datei per Drag&Drop in den Uploadbereich. Danach sind schon einmal alle Skripts importiert. Dort liegt dann ein Skript "Objekte_anlegen"
                                Das startest du einmal kurz und kannst es danach wieder beenden. Dieses Skript legt sämtliche Datenpunkte im Bereich "Objekte" an (javascript.0 in den einzelnen Unterordner sortiert)
                                Evtl ist auch hier ein Neustart des ioBroker bzw. der Script-Engine erforderlich.
                                Ist zumindest bei mir öfter mal der Fall wenn ich neue Adapter installiere o.ä.

                                RouwdyR 1 Reply Last reply
                                0
                                • W WeiserWolf

                                  @rouwdy Als erstes installierst du mal den Adapter "Script Engine" und startest danach den ioBroker neu. Anschließend erscheint links in der Übersicht der Bereich Skripte.
                                  Dort gehst du oben auf die drei Punkte --> Skripts importieren und ziehst die heruntergeladene ZIP-Datei per Drag&Drop in den Uploadbereich. Danach sind schon einmal alle Skripts importiert. Dort liegt dann ein Skript "Objekte_anlegen"
                                  Das startest du einmal kurz und kannst es danach wieder beenden. Dieses Skript legt sämtliche Datenpunkte im Bereich "Objekte" an (javascript.0 in den einzelnen Unterordner sortiert)
                                  Evtl ist auch hier ein Neustart des ioBroker bzw. der Script-Engine erforderlich.
                                  Ist zumindest bei mir öfter mal der Fall wenn ich neue Adapter installiere o.ä.

                                  RouwdyR Offline
                                  RouwdyR Offline
                                  Rouwdy
                                  wrote on last edited by
                                  #503

                                  @weiserwolf said in [Vorstellung] Meine dritte VIS:

                                  Script Engine

                                  Dank Dir @weiserwolf , werd es ausprobieren.

                                  Wirklich "WAHRE" Kameradschaft oder Freundschaft wird erst in der Not erkannt.
                                  Alles andere ist leider meist eine mehr oder weniger flüchtige Bekanntschaft.

                                  1 Reply Last reply
                                  0
                                  • maximal1981M Offline
                                    maximal1981M Offline
                                    maximal1981
                                    wrote on last edited by maximal1981
                                    #504

                                    Hallo,

                                    ich habe gerade ein komisches Phänomen.
                                    Am Abend wird der Rolladen nicht zur korrekten Zeit herunter gefahren. Jedoch sieht laut mir theoretisch alles richtig aus.

                                    2021-06-19 20:18:00.443  - info: javascript.0 (1506) script.js.smarthome.rolladen.rolladen_tag_nacht: +++ Sonnenuntergang -30: Wonhzimmer Seite auf 0% +++
                                    

                                    Unbenannt.PNG

                                    Selbst die Ausgabe/debug des Cron sieht richtig aus.

                                    2021-06-19 20:32:02.320  - warn: javascript.0 (1506) script.js.smarthome.rolladen.rolladen_tag_nacht: 31 20 * * *
                                    

                                    Zeit am Tablet bzw. ioBroker stimmt auch, was man ja auch im Log sehen kann, dass sie nicht mit der Schließzeit übereinstimmt.

                                    Jemand eine Idee?

                                    lg

                                    K 1 Reply Last reply
                                    0
                                    • maximal1981M maximal1981

                                      Hallo,

                                      ich habe gerade ein komisches Phänomen.
                                      Am Abend wird der Rolladen nicht zur korrekten Zeit herunter gefahren. Jedoch sieht laut mir theoretisch alles richtig aus.

                                      2021-06-19 20:18:00.443  - info: javascript.0 (1506) script.js.smarthome.rolladen.rolladen_tag_nacht: +++ Sonnenuntergang -30: Wonhzimmer Seite auf 0% +++
                                      

                                      Unbenannt.PNG

                                      Selbst die Ausgabe/debug des Cron sieht richtig aus.

                                      2021-06-19 20:32:02.320  - warn: javascript.0 (1506) script.js.smarthome.rolladen.rolladen_tag_nacht: 31 20 * * *
                                      

                                      Zeit am Tablet bzw. ioBroker stimmt auch, was man ja auch im Log sehen kann, dass sie nicht mit der Schließzeit übereinstimmt.

                                      Jemand eine Idee?

                                      lg

                                      K Offline
                                      K Offline
                                      Kuddel
                                      wrote on last edited by
                                      #505

                                      @maximal1981 kurzer check, ob ich das Problem richtig verstanden habe:

                                      Die Rolladen sollen um 20:31 Uhr (30 Min vor dem Sonnenuntergang) heruterfahren.

                                      Der entsprechende Log-Eintrag kommt aver schon um 20:18 Uhr.

                                      Das sieht für mich so aus, als wenn sich der Cron-Job nicht die richtige Zeit zieht.

                                      1 Reply Last reply
                                      0
                                      • maximal1981M Offline
                                        maximal1981M Offline
                                        maximal1981
                                        wrote on last edited by
                                        #506

                                        ich werde es mal weiter beobachten

                                        1 Reply Last reply
                                        0
                                        • H Offline
                                          H Offline
                                          HoTi
                                          wrote on last edited by HoTi
                                          #507

                                          Hallo zusammen,

                                          ich bin auch neu hier und wollte mich mal an die VIS machen, da die Anzeige der Daten für meine Frau erstmal das wichtigste ist. Vorher habe ich alles mit FHEM und TabletUI gemacht, aber da fange ich jetzt nicht wieder mit an.

                                          Nun scheitere ich allerdings schon am Import und zwar an den ICONS.
                                          Ich meine sie liegen richtig:

                                          9f57950c-620b-48b6-9b8e-7bfcdaa5f9a4-image.png

                                          aber angezeigt wird mir nix 😞

                                          5788ca19-bbf4-49ed-98e8-8ef8b6fd99f6-image.png

                                          Was mache ich nun falsch? Nun verbringe ich schon 3 Tage damit, weil ich euch nicht mit so einer Kleinigkeit nerven wollte, aber langsam verzweifle ich.

                                          edit
                                          Na gut, habe nun rausgefunden das die Wetter ICONS vom Widget kommen, aber die werden trotzdem nicht angezeigt. Bei den Widget Einstellungen von DasWetter schon.
                                          Viele Grüße
                                          Tim

                                          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

                                          693

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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