Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. jarvis v3.1.x - just another remarkable vis

NEWS

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

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

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

jarvis v3.1.x - just another remarkable vis

Geplant Angeheftet Gesperrt Verschoben Tester
jarvismaterialmaterial uimaterialdesignvisvisualisierungvisualization
1.8k Beiträge 92 Kommentatoren 726.3k Aufrufe 77 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M MCU

    @hohenbostler Bitte als Bild

    H Offline
    H Offline
    Hohenbostler
    schrieb am zuletzt editiert von
    #968

    @mcu

    7be58fe0-0ea0-407a-af05-79911e72b6e4-grafik.png

    M 1 Antwort Letzte Antwort
    0
    • H Hohenbostler

      @mcu

      7be58fe0-0ea0-407a-af05-79911e72b6e4-grafik.png

      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #969

      @hohenbostler Ist im Layout dort ein Element definiert?
      Komisch ist, dass dort datetime klasse drin ist.

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      H 1 Antwort Letzte Antwort
      0
      • M MCU

        @hohenbostler Ist im Layout dort ein Element definiert?
        Komisch ist, dass dort datetime klasse drin ist.

        H Offline
        H Offline
        Hohenbostler
        schrieb am zuletzt editiert von
        #970

        @mcu

        Nein nicht das ich sehe.

        82c8dd3f-1bec-4fa8-ab05-9238347af735-image.png

        Aber evtl liegt es an meiner CSS ? Da bin ich leider absolut kein Experte drin.

        /*################################################################*/
        
        /*#######################         Hintergrund             #######################*/
        
        /*###############################################################*/
        
        .jarvis-page-container {
        	background-color: #0cbaba;
        	background-image: linear-gradient(315deg, #0cbaba 0%, #380036 74%);
        }
        
        .body--dark .jarvis-header {
        	background-color: rgba(0,0,0,0.2) !important;
        }
        
        .jarvis-tabs-container {
        	background-color: rgba(0,0,0,0.2) !important;
        }
        
        .jarvis-widget-container {
        	background-color: rgba(0,0,0,0.2) !important;
        }
        
        .body--dark .jarvis-widget {
        	background: rgba(0,0,0,0.2);
        }
        
        .body--light .jarvis-widget {
        	background: rgba(255,255,255,1);
        }
        
        .body--dark .jarvis-tabs-container {
        	background-color: rgba(0,0,0,0.2) !important;
        }
        
        .q-table__container {
        	background-color: transparent !important;
        }
        
        .jarvis-header {
        	display: none !important;
        }
        
        /*################################################################*/
        
        /*################      Vorschaltseite Buttons           ########################*/
        
        /*###############################################################*/
        
        /* Lichter*/
        
        .jarvis-widget-7845d9ef-e7c1-460f-8ecf-609e0ae0f78d .jarvis-widget-header {
        	text-align: center;
        }
        
        .jarvis-widget-7845d9ef-e7c1-460f-8ecf-609e0ae0f78d .jarvis-widget-content {
        	background: url('https://api.iconify.design/line-md/lightbulb.svg') no-repeat center center / contain;
        	background-color: orange !important;
        }
        
        /* Rollos */
        
        .jarvis-widget-37367ee7-50f3-4d48-bcd0-31804f564754 .jarvis-widget-header {
        	text-align: center;
        }
        
        .jarvis-widget-37367ee7-50f3-4d48-bcd0-31804f564754 .jarvis-widget-content {
        	background: url('https://api.iconify.design/mdi/window-shutter-cog.svg') no-repeat center center / contain;
        	background-color: Grey !important;
        	text-align: center;
        }
        
        /* Hauptinfo */
        
        .jarvis-widget-690efabd-5821-4ab0-a533-ffd6c95ad5cf .jarvis-widget-header {
        	text-align: center;
        }
        
        .jarvis-widget-690efabd-5821-4ab0-a533-ffd6c95ad5cf .jarvis-widget-content {
        	background: url('https://api.iconify.design/ph/info-bold.svg') no-repeat center center / contain;
        	background-color: lightBlue !important;
        	text-align: center;
        }
        
        /* Walle */
        
        .jarvis-widget-f6182f4a-126d-4c61-8cc1-767afa7c55e1 .jarvis-widget-header {
        	text-align: center;
        }
        
        .jarvis-widget-f6182f4a-126d-4c61-8cc1-767afa7c55e1 .jarvis-widget-content {
        	background: url('https://api.iconify.design/solar/smart-vacuum-cleaner-2-bold.svg') no-repeat center center / contain;
        	background-color: lightGreen !important;
        	text-align: center;
        }
        
        /*Verbraucher */
        
        .jarvis-widget-18464e87-45a6-48f1-8bcd-8d8d56cf94c2 .jarvis-widget-header {
        	text-align: center;
        }
        
        .jarvis-widget-18464e87-45a6-48f1-8bcd-8d8d56cf94c2 .jarvis-widget-content {
        	background: url('https://api.iconify.design/material-symbols/electric-bolt-rounded.svg') no-repeat center center / contain;
        	background-color: lightYellow !important;
        	text-align: center;
        }
        
        /*Heizung */
        
        .jarvis-widget-152a14a4-304c-4f16-a09b-0e36fbad94d2 .jarvis-widget-header {
        	text-align: center;
        }
        
        .jarvis-widget-152a14a4-304c-4f16-a09b-0e36fbad94d2 .jarvis-widget-content {
        	background: url('https://api.iconify.design/material-symbols/mode-heat-rounded.svg') no-repeat center center / contain;
        	background-color: #E6676B !important;
        	text-align: center;
        }
        
        /*################################################################*/
        
        /*################      Ausblenden auf dem Handy        ########################*/
        
        /*###############################################################*/
        
        @media all and (max-width:500px) {
        	/* gilt für alle mit <= 500px max-width */
        
        	.jarvis-widget-6fcec8b4-2718-4848-b5e4-cb8c97856d8b {
        		display: none !important;
        	}
        
        	.jarvis-widget-642e6745-8b6b-4c61-bc91-7b9f391ceb7f {
        		display: none !important;
        	}
        }
        
        /*################################################################*/
        
        /*################         Aktuell deaktiviert                ########################*/
        
        /*###############################################################*/
        
        /* Große Uhr */
        
        /*
        .jarvis-widget-2586215f-ce78-4234-9773-bafa30b6d772 .jarvis-DateTime-Clock-Date {
        	font-size: 100px;
        	color: white;
        }
        
        .jarvis-widget-642e6745-8b6b-4c61-bc91-7b9f391ceb7f .jarvis-DateTime-Clock-Time {
        	font-size: 130px;
        	color: white;
        }
        
        .jarvis-widget-6fcec8b4-2718-4848-b5e4-cb8c97856d8b .jarvis-DateTime-Clock-Date {
        	font-size: 40px;
        	color: white;
        }
        
        .jarvis-widget-20f7ee71-0350-4588-be09-e77a273e9c65 .jarvis-DateTime-Clock-Time {
        	font-size: 40px;
        	color: white;
        }*/
        
        /*
        .jarvis-tab-00754651-6ed5-4f6d-a4c2-230e09971e10 .jarvis-widget-container {
        	border-radius: 30px;
        }
        
        .jarvis-tab-00754651-6ed5-4f6d-a4c2-230e09971e10 .jarvis-widget-module-HomeKitTile {
        	border-radius: 30px;
        }*/
        
        M 1 Antwort Letzte Antwort
        0
        • H Hohenbostler

          @mcu

          Nein nicht das ich sehe.

          82c8dd3f-1bec-4fa8-ab05-9238347af735-image.png

          Aber evtl liegt es an meiner CSS ? Da bin ich leider absolut kein Experte drin.

          /*################################################################*/
          
          /*#######################         Hintergrund             #######################*/
          
          /*###############################################################*/
          
          .jarvis-page-container {
          	background-color: #0cbaba;
          	background-image: linear-gradient(315deg, #0cbaba 0%, #380036 74%);
          }
          
          .body--dark .jarvis-header {
          	background-color: rgba(0,0,0,0.2) !important;
          }
          
          .jarvis-tabs-container {
          	background-color: rgba(0,0,0,0.2) !important;
          }
          
          .jarvis-widget-container {
          	background-color: rgba(0,0,0,0.2) !important;
          }
          
          .body--dark .jarvis-widget {
          	background: rgba(0,0,0,0.2);
          }
          
          .body--light .jarvis-widget {
          	background: rgba(255,255,255,1);
          }
          
          .body--dark .jarvis-tabs-container {
          	background-color: rgba(0,0,0,0.2) !important;
          }
          
          .q-table__container {
          	background-color: transparent !important;
          }
          
          .jarvis-header {
          	display: none !important;
          }
          
          /*################################################################*/
          
          /*################      Vorschaltseite Buttons           ########################*/
          
          /*###############################################################*/
          
          /* Lichter*/
          
          .jarvis-widget-7845d9ef-e7c1-460f-8ecf-609e0ae0f78d .jarvis-widget-header {
          	text-align: center;
          }
          
          .jarvis-widget-7845d9ef-e7c1-460f-8ecf-609e0ae0f78d .jarvis-widget-content {
          	background: url('https://api.iconify.design/line-md/lightbulb.svg') no-repeat center center / contain;
          	background-color: orange !important;
          }
          
          /* Rollos */
          
          .jarvis-widget-37367ee7-50f3-4d48-bcd0-31804f564754 .jarvis-widget-header {
          	text-align: center;
          }
          
          .jarvis-widget-37367ee7-50f3-4d48-bcd0-31804f564754 .jarvis-widget-content {
          	background: url('https://api.iconify.design/mdi/window-shutter-cog.svg') no-repeat center center / contain;
          	background-color: Grey !important;
          	text-align: center;
          }
          
          /* Hauptinfo */
          
          .jarvis-widget-690efabd-5821-4ab0-a533-ffd6c95ad5cf .jarvis-widget-header {
          	text-align: center;
          }
          
          .jarvis-widget-690efabd-5821-4ab0-a533-ffd6c95ad5cf .jarvis-widget-content {
          	background: url('https://api.iconify.design/ph/info-bold.svg') no-repeat center center / contain;
          	background-color: lightBlue !important;
          	text-align: center;
          }
          
          /* Walle */
          
          .jarvis-widget-f6182f4a-126d-4c61-8cc1-767afa7c55e1 .jarvis-widget-header {
          	text-align: center;
          }
          
          .jarvis-widget-f6182f4a-126d-4c61-8cc1-767afa7c55e1 .jarvis-widget-content {
          	background: url('https://api.iconify.design/solar/smart-vacuum-cleaner-2-bold.svg') no-repeat center center / contain;
          	background-color: lightGreen !important;
          	text-align: center;
          }
          
          /*Verbraucher */
          
          .jarvis-widget-18464e87-45a6-48f1-8bcd-8d8d56cf94c2 .jarvis-widget-header {
          	text-align: center;
          }
          
          .jarvis-widget-18464e87-45a6-48f1-8bcd-8d8d56cf94c2 .jarvis-widget-content {
          	background: url('https://api.iconify.design/material-symbols/electric-bolt-rounded.svg') no-repeat center center / contain;
          	background-color: lightYellow !important;
          	text-align: center;
          }
          
          /*Heizung */
          
          .jarvis-widget-152a14a4-304c-4f16-a09b-0e36fbad94d2 .jarvis-widget-header {
          	text-align: center;
          }
          
          .jarvis-widget-152a14a4-304c-4f16-a09b-0e36fbad94d2 .jarvis-widget-content {
          	background: url('https://api.iconify.design/material-symbols/mode-heat-rounded.svg') no-repeat center center / contain;
          	background-color: #E6676B !important;
          	text-align: center;
          }
          
          /*################################################################*/
          
          /*################      Ausblenden auf dem Handy        ########################*/
          
          /*###############################################################*/
          
          @media all and (max-width:500px) {
          	/* gilt für alle mit <= 500px max-width */
          
          	.jarvis-widget-6fcec8b4-2718-4848-b5e4-cb8c97856d8b {
          		display: none !important;
          	}
          
          	.jarvis-widget-642e6745-8b6b-4c61-bc91-7b9f391ceb7f {
          		display: none !important;
          	}
          }
          
          /*################################################################*/
          
          /*################         Aktuell deaktiviert                ########################*/
          
          /*###############################################################*/
          
          /* Große Uhr */
          
          /*
          .jarvis-widget-2586215f-ce78-4234-9773-bafa30b6d772 .jarvis-DateTime-Clock-Date {
          	font-size: 100px;
          	color: white;
          }
          
          .jarvis-widget-642e6745-8b6b-4c61-bc91-7b9f391ceb7f .jarvis-DateTime-Clock-Time {
          	font-size: 130px;
          	color: white;
          }
          
          .jarvis-widget-6fcec8b4-2718-4848-b5e4-cb8c97856d8b .jarvis-DateTime-Clock-Date {
          	font-size: 40px;
          	color: white;
          }
          
          .jarvis-widget-20f7ee71-0350-4588-be09-e77a273e9c65 .jarvis-DateTime-Clock-Time {
          	font-size: 40px;
          	color: white;
          }*/
          
          /*
          .jarvis-tab-00754651-6ed5-4f6d-a4c2-230e09971e10 .jarvis-widget-container {
          	border-radius: 30px;
          }
          
          .jarvis-tab-00754651-6ed5-4f6d-a4c2-230e09971e10 .jarvis-widget-module-HomeKitTile {
          	border-radius: 30px;
          }*/
          
          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von MCU
          #971

          @hohenbostler Ich vermute, dass es eine Border Definition irgendwo ist, kann es aber derzeit nicht prüfen. Kein System vorhanden. Müssen wir verschieben.

          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          H 1 Antwort Letzte Antwort
          0
          • M MCU

            @hohenbostler Ich vermute, dass es eine Border Definition irgendwo ist, kann es aber derzeit nicht prüfen. Kein System vorhanden. Müssen wir verschieben.

            H Offline
            H Offline
            Hohenbostler
            schrieb am zuletzt editiert von
            #972

            @mcu

            kein Problem. Bin ja dankbar für jede Hilfe

            M 1 Antwort Letzte Antwort
            0
            • H Hohenbostler

              @mcu

              kein Problem. Bin ja dankbar für jede Hilfe

              M Online
              M Online
              MCU
              schrieb am zuletzt editiert von
              #973

              @hohenbostler was passiert, wenn du bei border-bottom 0px eingibst?

              Screenshot_20230823_151943_Edge.jpg

              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

              H 1 Antwort Letzte Antwort
              0
              • M MCU

                @hohenbostler was passiert, wenn du bei border-bottom 0px eingibst?

                Screenshot_20230823_151943_Edge.jpg

                H Offline
                H Offline
                Hohenbostler
                schrieb am zuletzt editiert von
                #974

                @mcu

                dann wäre es weg.

                M 1 Antwort Letzte Antwort
                0
                • H Hohenbostler

                  @mcu

                  dann wäre es weg.

                  M Online
                  M Online
                  MCU
                  schrieb am zuletzt editiert von MCU
                  #975

                  @hohenbostler ja dann in den styles

                  .body--dark .tile {
                    border-bottom: 0px solid transparent !important;
                  }
                  

                  Prüfen was sich in den anderen Seiten verändert

                  NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                  H 1 Antwort Letzte Antwort
                  0
                  • M MCU

                    @hohenbostler ja dann in den styles

                    .body--dark .tile {
                      border-bottom: 0px solid transparent !important;
                    }
                    

                    Prüfen was sich in den anderen Seiten verändert

                    H Offline
                    H Offline
                    Hohenbostler
                    schrieb am zuletzt editiert von
                    #976

                    @mcu sagte in jarvis v3.1.x - just another remarkable vis:

                    .body--dark .tile {

                    Perfekt so funktioniert es.

                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      Hohenbostler
                      schrieb am zuletzt editiert von Hohenbostler
                      #977

                      Moin zusammen.

                      zum Thema Laufschrift habe ich mir selbst geholfen falls es jemanden interessiert.

                      a6436147-7598-498e-8464-df49ef861310-image.png !

                      70d2f94c-f5ee-417f-b9bd-7015c7bfca33-image.png

                      26e75476-9dec-4388-be2a-cc58db301654-image.png

                      Ich habe eine einState html widget angelegt . Gefüllt wird ein Datenpunkt über blockly scripten im HTML format.

                      1 Antwort Letzte Antwort
                      1
                      • H Offline
                        H Offline
                        Hohenbostler
                        schrieb am zuletzt editiert von
                        #978

                        @MCU

                        Gibt es eine möglichkeit ähnlich wie beim ausblenden von widgets nach Displaygröße auch das ausblenden ob ein Datenpunkt im iobroker mit true / false gefüllt ist ?

                        M 1 Antwort Letzte Antwort
                        0
                        • H Hohenbostler

                          @MCU

                          Gibt es eine möglichkeit ähnlich wie beim ausblenden von widgets nach Displaygröße auch das ausblenden ob ein Datenpunkt im iobroker mit true / false gefüllt ist ?

                          M Online
                          M Online
                          MCU
                          schrieb am zuletzt editiert von
                          #979

                          @hohenbostler
                          https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/besonderheiten-v3/scripts-3.1.x-pro/widgets/widgets-aus-einblenden

                          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                          H 1 Antwort Letzte Antwort
                          0
                          • M MCU

                            @hohenbostler
                            https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/besonderheiten-v3/scripts-3.1.x-pro/widgets/widgets-aus-einblenden

                            H Offline
                            H Offline
                            Hohenbostler
                            schrieb am zuletzt editiert von
                            #980

                            @mcu

                            Hi, super im grunde funktioniert das auch . Aber leider nur wenn ich ein Widget ausblenden möchten. Sobald ich das Script doppelt untereinander setze wird es nicht mehr ausgeführt.

                            // **************************************************
                            // widgetDisplay.js v1.0.0
                            //
                            // Beispiel Widget ausblenden mit ioBroker DP-Objekt
                            // **************************************************
                            // Copyright ©MCU 
                            
                            /* Objekt zum Speichern von WidgetID und Zustand */
                            let displayOffObj ={}; 
                            
                            let pagePosArr = [];
                            
                            let arrDeskWidgets = []; // Widgets Array mit widgetIDs und Posdaten vom grid
                            
                            /* ioBroker DP Änderungen */
                            
                            window.Socket.subscribeState('0_userdata.0.allgemeine_Datenpunkte.jarvis_datenpunkte.allgmeine_infos_anzeigen', ({ err, state }) => {
                            	if (err){
                            	   console.log('Error DP holen');
                            	}else{
                            		if (state.val) {
                            			displayOffObj['cabd6398-4ba6-4834-a0cd-527507cd311d']=false;
                            		}else{
                            			displayOffObj['cabd6398-4ba6-4834-a0cd-527507cd311d']=true;
                            		}
                            		widgetsActualize();
                            	}
                            });  
                            
                            /* hier kann man mehrere ioBroker DPs abfragen */
                            // window.Socket.subscribeState('0_userdata.0.DP.condition2', ....
                            
                            // window.Socket.subscribeState('0_userdata.0.DP.condition3', ....
                            
                            // !!! AB HIER NICHTS VERÄNDERN !!!
                            
                            docReady(function() {
                            	widgetsActualize();
                            	document.addEventListener("click", function (event) {
                            		widgetsActualize();
                               });
                            });
                            
                            
                            function widgetsActualize(){
                            	containerDesktop();
                            	for (let widget in displayOffObj){
                            		if (displayOffObj[widget]){
                            			widgetDisplayOff(widget,true); // Allgemeines
                            		}else{
                            			widgetDisplayOff(widget,false);
                            		}				
                            	}
                            }
                            
                            function containerDesktop(){
                            	let doc = document.getElementsByClassName('container desktop');
                            	if (doc.length >0){
                            		let widgetsPos = doc[0].getElementsByClassName('box');
                            		//console.log('POS: ' +widgetsPos);
                            		let arr = [];
                            		for (let i=0;i<widgetsPos.length;i++){
                            			let posObj = {};
                            			posObj.rowStart=widgetsPos[i].style.gridRowStart;
                            			posObj.colStart=widgetsPos[i].style.gridColumnStart;
                            			posObj.rowEnd=widgetsPos[i].style.gridRowEnd;
                            			posObj.colEnd=widgetsPos[i].style.gridColumnEnd;
                            			let widgetCL = widgetsPos[i].getElementsByClassName('jarvis-widget')[0].classList;
                            			for (let y=0;y<widgetCL.length;y++){
                            				if (widgetCL[y].indexOf('jarvis-widget-') >=0 && widgetCL[y].length > 49){
                            					posObj.widgetID = widgetCL[y].substr(14, widgetCL[y].length-14); // widgetID vom Widget wird übergeben */
                            					break;
                            				}
                            			}
                            			arr.push(posObj);
                            		}
                            		arrDeskWidgets = arr;
                            		//pagePos(arr);
                            	}else{
                            		arrDeskWidgets = [];
                            	}
                            	
                            }
                            
                            
                            function pagePos(arrDesk){
                            	
                            	for (let i=0; i< arrDesk.length;i++){
                            		let rowEnd =0;
                            		let rowStart =parseInt(arrDesk[i].rowStart)-1;
                            		if (arrDesk[i].rowEnd.indexOf('span')>=0){
                            			rowEnd = parseInt(arrDesk[i].rowEnd.replace('span',''));
                            		}
                            		let colEnd =0;
                            		let colStart =parseInt(arrDesk[i].colStart)-1;
                            		if (arrDesk[i].colEnd.indexOf('span')>=0){
                            			colEnd = parseInt(arrDesk[i].colEnd.replace('span',''));
                            		}
                            		for (let row = rowStart; row< rowStart+rowEnd;row++){ 
                            			if (pagePosArr[row] == undefined){
                            				pagePosArr.push(['','','','','','','','','','','','']);
                            			}
                            			for (let x = colStart; x< colStart+colEnd;x++){
                            				if (pagePosArr[row][x] == ''){
                            					pagePosArr[row][x]= arrDesk[i].widgetID;
                            				}
                            			}
                            		}
                            	}	
                            }
                            
                            function widgetDisplayOff(widgetID,displayOff){
                            	let doc = document.getElementsByClassName('container desktop');
                            	if (doc.length >0){
                            		let widgetsPos = doc[0].getElementsByClassName('box');
                            		let usedOrder = 0;
                            		for (let i=0; i<arrDeskWidgets.length;i++){
                            			if (arrDeskWidgets[i].widgetID == widgetID){
                            				usedOrder = i;
                            				let widgetContainer = widgetsPos[usedOrder].getElementsByClassName('jarvis-widget-container');
                            				if (displayOff){
                            					widgetContainer[0].style.display='none';
                            				}else{
                            					widgetContainer[0].style.display='inherit';
                            				}
                            				break;
                            			}
                            		}
                            	}
                            	
                            }
                            
                            
                            function docReady(fn) {
                                // see if DOM is already available
                                if (document.readyState === "complete" || document.readyState === "interactive") {
                                    // call on next available tick
                                    setTimeout(fn, 1000);
                                } else {
                                    document.addEventListener("DOMContentLoaded", fn);
                                }
                            }
                            // **************************************************
                            // widgetDisplay.js v1.0.0
                            // DWDINFOS
                            //
                            // Beispiel Widget ausblenden mit ioBroker DP-Objekt
                            // **************************************************
                            // Copyright ©MCU 
                            
                            /* Objekt zum Speichern von WidgetID und Zustand */
                            let displayOffObj ={}; 
                            
                            let pagePosArr = [];
                            
                            let arrDeskWidgets = []; // Widgets Array mit widgetIDs und Posdaten vom grid
                            
                            /* ioBroker DP Änderungen */
                            
                            window.Socket.subscribeState('0_userdata.0.allgemeine_Datenpunkte.jarvis_datenpunkte.dwd_warnung_anzeigen', ({ err, state }) => {
                            	if (err){
                            	   console.log('Error DP holen');
                            	}else{
                            		if (state.val) {
                            			displayOffObj['873f31aa-5a9c-4e9c-9ff8-5132d03856ed']=false;
                            		}else{
                            			displayOffObj['873f31aa-5a9c-4e9c-9ff8-5132d03856ed']=true;
                            		}
                            		widgetsActualize();
                            	}
                            });  
                            
                            /* hier kann man mehrere ioBroker DPs abfragen */
                            // window.Socket.subscribeState('0_userdata.0.DP.condition2', ....
                            
                            // window.Socket.subscribeState('0_userdata.0.DP.condition3', ....
                            
                            // !!! AB HIER NICHTS VERÄNDERN !!!
                            
                            docReady(function() {
                            	widgetsActualize();
                            	document.addEventListener("click", function (event) {
                            		widgetsActualize();
                               });
                            });
                            
                            
                            function widgetsActualize(){
                            	containerDesktop();
                            	for (let widget in displayOffObj){
                            		if (displayOffObj[widget]){
                            			widgetDisplayOff(widget,true); // Allgemeines
                            		}else{
                            			widgetDisplayOff(widget,false);
                            		}				
                            	}
                            }
                            
                            function containerDesktop(){
                            	let doc = document.getElementsByClassName('container desktop');
                            	if (doc.length >0){
                            		let widgetsPos = doc[0].getElementsByClassName('box');
                            		//console.log('POS: ' +widgetsPos);
                            		let arr = [];
                            		for (let i=0;i<widgetsPos.length;i++){
                            			let posObj = {};
                            			posObj.rowStart=widgetsPos[i].style.gridRowStart;
                            			posObj.colStart=widgetsPos[i].style.gridColumnStart;
                            			posObj.rowEnd=widgetsPos[i].style.gridRowEnd;
                            			posObj.colEnd=widgetsPos[i].style.gridColumnEnd;
                            			let widgetCL = widgetsPos[i].getElementsByClassName('jarvis-widget')[0].classList;
                            			for (let y=0;y<widgetCL.length;y++){
                            				if (widgetCL[y].indexOf('jarvis-widget-') >=0 && widgetCL[y].length > 49){
                            					posObj.widgetID = widgetCL[y].substr(14, widgetCL[y].length-14); // widgetID vom Widget wird übergeben */
                            					break;
                            				}
                            			}
                            			arr.push(posObj);
                            		}
                            		arrDeskWidgets = arr;
                            		//pagePos(arr);
                            	}else{
                            		arrDeskWidgets = [];
                            	}
                            	
                            }
                            
                            
                            function pagePos(arrDesk){
                            	
                            	for (let i=0; i< arrDesk.length;i++){
                            		let rowEnd =0;
                            		let rowStart =parseInt(arrDesk[i].rowStart)-1;
                            		if (arrDesk[i].rowEnd.indexOf('span')>=0){
                            			rowEnd = parseInt(arrDesk[i].rowEnd.replace('span',''));
                            		}
                            		let colEnd =0;
                            		let colStart =parseInt(arrDesk[i].colStart)-1;
                            		if (arrDesk[i].colEnd.indexOf('span')>=0){
                            			colEnd = parseInt(arrDesk[i].colEnd.replace('span',''));
                            		}
                            		for (let row = rowStart; row< rowStart+rowEnd;row++){ 
                            			if (pagePosArr[row] == undefined){
                            				pagePosArr.push(['','','','','','','','','','','','']);
                            			}
                            			for (let x = colStart; x< colStart+colEnd;x++){
                            				if (pagePosArr[row][x] == ''){
                            					pagePosArr[row][x]= arrDesk[i].widgetID;
                            				}
                            			}
                            		}
                            	}	
                            }
                            
                            function widgetDisplayOff(widgetID,displayOff){
                            	let doc = document.getElementsByClassName('container desktop');
                            	if (doc.length >0){
                            		let widgetsPos = doc[0].getElementsByClassName('box');
                            		let usedOrder = 0;
                            		for (let i=0; i<arrDeskWidgets.length;i++){
                            			if (arrDeskWidgets[i].widgetID == widgetID){
                            				usedOrder = i;
                            				let widgetContainer = widgetsPos[usedOrder].getElementsByClassName('jarvis-widget-container');
                            				if (displayOff){
                            					widgetContainer[0].style.display='none';
                            				}else{
                            					widgetContainer[0].style.display='inherit';
                            				}
                            				break;
                            			}
                            		}
                            	}
                            	
                            }
                            
                            
                            function docReady(fn) {
                                // see if DOM is already available
                                if (document.readyState === "complete" || document.readyState === "interactive") {
                                    // call on next available tick
                                    setTimeout(fn, 1000);
                                } else {
                                    document.addEventListener("DOMContentLoaded", fn);
                                }
                            }
                            

                            Gibt es da auch eine Lösung ?

                            M 1 Antwort Letzte Antwort
                            0
                            • H Hohenbostler

                              @mcu

                              Hi, super im grunde funktioniert das auch . Aber leider nur wenn ich ein Widget ausblenden möchten. Sobald ich das Script doppelt untereinander setze wird es nicht mehr ausgeführt.

                              // **************************************************
                              // widgetDisplay.js v1.0.0
                              //
                              // Beispiel Widget ausblenden mit ioBroker DP-Objekt
                              // **************************************************
                              // Copyright ©MCU 
                              
                              /* Objekt zum Speichern von WidgetID und Zustand */
                              let displayOffObj ={}; 
                              
                              let pagePosArr = [];
                              
                              let arrDeskWidgets = []; // Widgets Array mit widgetIDs und Posdaten vom grid
                              
                              /* ioBroker DP Änderungen */
                              
                              window.Socket.subscribeState('0_userdata.0.allgemeine_Datenpunkte.jarvis_datenpunkte.allgmeine_infos_anzeigen', ({ err, state }) => {
                              	if (err){
                              	   console.log('Error DP holen');
                              	}else{
                              		if (state.val) {
                              			displayOffObj['cabd6398-4ba6-4834-a0cd-527507cd311d']=false;
                              		}else{
                              			displayOffObj['cabd6398-4ba6-4834-a0cd-527507cd311d']=true;
                              		}
                              		widgetsActualize();
                              	}
                              });  
                              
                              /* hier kann man mehrere ioBroker DPs abfragen */
                              // window.Socket.subscribeState('0_userdata.0.DP.condition2', ....
                              
                              // window.Socket.subscribeState('0_userdata.0.DP.condition3', ....
                              
                              // !!! AB HIER NICHTS VERÄNDERN !!!
                              
                              docReady(function() {
                              	widgetsActualize();
                              	document.addEventListener("click", function (event) {
                              		widgetsActualize();
                                 });
                              });
                              
                              
                              function widgetsActualize(){
                              	containerDesktop();
                              	for (let widget in displayOffObj){
                              		if (displayOffObj[widget]){
                              			widgetDisplayOff(widget,true); // Allgemeines
                              		}else{
                              			widgetDisplayOff(widget,false);
                              		}				
                              	}
                              }
                              
                              function containerDesktop(){
                              	let doc = document.getElementsByClassName('container desktop');
                              	if (doc.length >0){
                              		let widgetsPos = doc[0].getElementsByClassName('box');
                              		//console.log('POS: ' +widgetsPos);
                              		let arr = [];
                              		for (let i=0;i<widgetsPos.length;i++){
                              			let posObj = {};
                              			posObj.rowStart=widgetsPos[i].style.gridRowStart;
                              			posObj.colStart=widgetsPos[i].style.gridColumnStart;
                              			posObj.rowEnd=widgetsPos[i].style.gridRowEnd;
                              			posObj.colEnd=widgetsPos[i].style.gridColumnEnd;
                              			let widgetCL = widgetsPos[i].getElementsByClassName('jarvis-widget')[0].classList;
                              			for (let y=0;y<widgetCL.length;y++){
                              				if (widgetCL[y].indexOf('jarvis-widget-') >=0 && widgetCL[y].length > 49){
                              					posObj.widgetID = widgetCL[y].substr(14, widgetCL[y].length-14); // widgetID vom Widget wird übergeben */
                              					break;
                              				}
                              			}
                              			arr.push(posObj);
                              		}
                              		arrDeskWidgets = arr;
                              		//pagePos(arr);
                              	}else{
                              		arrDeskWidgets = [];
                              	}
                              	
                              }
                              
                              
                              function pagePos(arrDesk){
                              	
                              	for (let i=0; i< arrDesk.length;i++){
                              		let rowEnd =0;
                              		let rowStart =parseInt(arrDesk[i].rowStart)-1;
                              		if (arrDesk[i].rowEnd.indexOf('span')>=0){
                              			rowEnd = parseInt(arrDesk[i].rowEnd.replace('span',''));
                              		}
                              		let colEnd =0;
                              		let colStart =parseInt(arrDesk[i].colStart)-1;
                              		if (arrDesk[i].colEnd.indexOf('span')>=0){
                              			colEnd = parseInt(arrDesk[i].colEnd.replace('span',''));
                              		}
                              		for (let row = rowStart; row< rowStart+rowEnd;row++){ 
                              			if (pagePosArr[row] == undefined){
                              				pagePosArr.push(['','','','','','','','','','','','']);
                              			}
                              			for (let x = colStart; x< colStart+colEnd;x++){
                              				if (pagePosArr[row][x] == ''){
                              					pagePosArr[row][x]= arrDesk[i].widgetID;
                              				}
                              			}
                              		}
                              	}	
                              }
                              
                              function widgetDisplayOff(widgetID,displayOff){
                              	let doc = document.getElementsByClassName('container desktop');
                              	if (doc.length >0){
                              		let widgetsPos = doc[0].getElementsByClassName('box');
                              		let usedOrder = 0;
                              		for (let i=0; i<arrDeskWidgets.length;i++){
                              			if (arrDeskWidgets[i].widgetID == widgetID){
                              				usedOrder = i;
                              				let widgetContainer = widgetsPos[usedOrder].getElementsByClassName('jarvis-widget-container');
                              				if (displayOff){
                              					widgetContainer[0].style.display='none';
                              				}else{
                              					widgetContainer[0].style.display='inherit';
                              				}
                              				break;
                              			}
                              		}
                              	}
                              	
                              }
                              
                              
                              function docReady(fn) {
                                  // see if DOM is already available
                                  if (document.readyState === "complete" || document.readyState === "interactive") {
                                      // call on next available tick
                                      setTimeout(fn, 1000);
                                  } else {
                                      document.addEventListener("DOMContentLoaded", fn);
                                  }
                              }
                              // **************************************************
                              // widgetDisplay.js v1.0.0
                              // DWDINFOS
                              //
                              // Beispiel Widget ausblenden mit ioBroker DP-Objekt
                              // **************************************************
                              // Copyright ©MCU 
                              
                              /* Objekt zum Speichern von WidgetID und Zustand */
                              let displayOffObj ={}; 
                              
                              let pagePosArr = [];
                              
                              let arrDeskWidgets = []; // Widgets Array mit widgetIDs und Posdaten vom grid
                              
                              /* ioBroker DP Änderungen */
                              
                              window.Socket.subscribeState('0_userdata.0.allgemeine_Datenpunkte.jarvis_datenpunkte.dwd_warnung_anzeigen', ({ err, state }) => {
                              	if (err){
                              	   console.log('Error DP holen');
                              	}else{
                              		if (state.val) {
                              			displayOffObj['873f31aa-5a9c-4e9c-9ff8-5132d03856ed']=false;
                              		}else{
                              			displayOffObj['873f31aa-5a9c-4e9c-9ff8-5132d03856ed']=true;
                              		}
                              		widgetsActualize();
                              	}
                              });  
                              
                              /* hier kann man mehrere ioBroker DPs abfragen */
                              // window.Socket.subscribeState('0_userdata.0.DP.condition2', ....
                              
                              // window.Socket.subscribeState('0_userdata.0.DP.condition3', ....
                              
                              // !!! AB HIER NICHTS VERÄNDERN !!!
                              
                              docReady(function() {
                              	widgetsActualize();
                              	document.addEventListener("click", function (event) {
                              		widgetsActualize();
                                 });
                              });
                              
                              
                              function widgetsActualize(){
                              	containerDesktop();
                              	for (let widget in displayOffObj){
                              		if (displayOffObj[widget]){
                              			widgetDisplayOff(widget,true); // Allgemeines
                              		}else{
                              			widgetDisplayOff(widget,false);
                              		}				
                              	}
                              }
                              
                              function containerDesktop(){
                              	let doc = document.getElementsByClassName('container desktop');
                              	if (doc.length >0){
                              		let widgetsPos = doc[0].getElementsByClassName('box');
                              		//console.log('POS: ' +widgetsPos);
                              		let arr = [];
                              		for (let i=0;i<widgetsPos.length;i++){
                              			let posObj = {};
                              			posObj.rowStart=widgetsPos[i].style.gridRowStart;
                              			posObj.colStart=widgetsPos[i].style.gridColumnStart;
                              			posObj.rowEnd=widgetsPos[i].style.gridRowEnd;
                              			posObj.colEnd=widgetsPos[i].style.gridColumnEnd;
                              			let widgetCL = widgetsPos[i].getElementsByClassName('jarvis-widget')[0].classList;
                              			for (let y=0;y<widgetCL.length;y++){
                              				if (widgetCL[y].indexOf('jarvis-widget-') >=0 && widgetCL[y].length > 49){
                              					posObj.widgetID = widgetCL[y].substr(14, widgetCL[y].length-14); // widgetID vom Widget wird übergeben */
                              					break;
                              				}
                              			}
                              			arr.push(posObj);
                              		}
                              		arrDeskWidgets = arr;
                              		//pagePos(arr);
                              	}else{
                              		arrDeskWidgets = [];
                              	}
                              	
                              }
                              
                              
                              function pagePos(arrDesk){
                              	
                              	for (let i=0; i< arrDesk.length;i++){
                              		let rowEnd =0;
                              		let rowStart =parseInt(arrDesk[i].rowStart)-1;
                              		if (arrDesk[i].rowEnd.indexOf('span')>=0){
                              			rowEnd = parseInt(arrDesk[i].rowEnd.replace('span',''));
                              		}
                              		let colEnd =0;
                              		let colStart =parseInt(arrDesk[i].colStart)-1;
                              		if (arrDesk[i].colEnd.indexOf('span')>=0){
                              			colEnd = parseInt(arrDesk[i].colEnd.replace('span',''));
                              		}
                              		for (let row = rowStart; row< rowStart+rowEnd;row++){ 
                              			if (pagePosArr[row] == undefined){
                              				pagePosArr.push(['','','','','','','','','','','','']);
                              			}
                              			for (let x = colStart; x< colStart+colEnd;x++){
                              				if (pagePosArr[row][x] == ''){
                              					pagePosArr[row][x]= arrDesk[i].widgetID;
                              				}
                              			}
                              		}
                              	}	
                              }
                              
                              function widgetDisplayOff(widgetID,displayOff){
                              	let doc = document.getElementsByClassName('container desktop');
                              	if (doc.length >0){
                              		let widgetsPos = doc[0].getElementsByClassName('box');
                              		let usedOrder = 0;
                              		for (let i=0; i<arrDeskWidgets.length;i++){
                              			if (arrDeskWidgets[i].widgetID == widgetID){
                              				usedOrder = i;
                              				let widgetContainer = widgetsPos[usedOrder].getElementsByClassName('jarvis-widget-container');
                              				if (displayOff){
                              					widgetContainer[0].style.display='none';
                              				}else{
                              					widgetContainer[0].style.display='inherit';
                              				}
                              				break;
                              			}
                              		}
                              	}
                              	
                              }
                              
                              
                              function docReady(fn) {
                                  // see if DOM is already available
                                  if (document.readyState === "complete" || document.readyState === "interactive") {
                                      // call on next available tick
                                      setTimeout(fn, 1000);
                                  } else {
                                      document.addEventListener("DOMContentLoaded", fn);
                                  }
                              }
                              

                              Gibt es da auch eine Lösung ?

                              M Online
                              M Online
                              MCU
                              schrieb am zuletzt editiert von MCU
                              #981

                              @hohenbostler Man darf es nicht 2x mal untereinander nutzen, dafür muss man die Funktionen nutzen.
                              Was möchtest du machen?
                              Mit welchem DP soll gesteuert werden? Unterschiedliche DPs?
                              Welche WidgetIds?

                              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                              H 1 Antwort Letzte Antwort
                              0
                              • M MCU

                                @hohenbostler Man darf es nicht 2x mal untereinander nutzen, dafür muss man die Funktionen nutzen.
                                Was möchtest du machen?
                                Mit welchem DP soll gesteuert werden? Unterschiedliche DPs?
                                Welche WidgetIds?

                                H Offline
                                H Offline
                                Hohenbostler
                                schrieb am zuletzt editiert von
                                #982

                                @mcu

                                ich möchte unterschiedliche Widgets die unterschiedlich gefüllt sind nach unterschiedlichen Datenpunkten an/ aus blenden.

                                Datenpunkt 1 blendet WIdget 1 an / aus

                                Datenpunkt 2 blendet WIdget 2 an / aus

                                M 1 Antwort Letzte Antwort
                                0
                                • H Hohenbostler

                                  @mcu

                                  ich möchte unterschiedliche Widgets die unterschiedlich gefüllt sind nach unterschiedlichen Datenpunkten an/ aus blenden.

                                  Datenpunkt 1 blendet WIdget 1 an / aus

                                  Datenpunkt 2 blendet WIdget 2 an / aus

                                  M Online
                                  M Online
                                  MCU
                                  schrieb am zuletzt editiert von
                                  #983

                                  @hohenbostler nur dieser Part wird dafür genutzt. Den kan man kopieren. Auf einem Handy schlecht zu kopieren.

                                  /* ioBroker DP Änderungen */
                                   
                                  window.Socket.subscribeState('0_userdata.0.allgemeine_Datenpunkte.jarvis_datenpunkte.allgmeine_infos_anzeigen', ({ err, state }) => {
                                  	if (err){
                                  	   console.log('Error DP holene{
                                  		if (state.val) {
                                  			displayOffObj['cabd6398-4ba6-4834-a0cd-7507cd311d']=false;
                                  		}else{
                                  			displayOffObj['cabd6398-4ba6-4834-a0cd-527507cd311d']=true;
                                  		}
                                  		widgetsActualize();
                                  	}
                                  });  
                                  

                                  NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                  1 Antwort Letzte Antwort
                                  0
                                  • H Offline
                                    H Offline
                                    Hohenbostler
                                    schrieb am zuletzt editiert von
                                    #984

                                    @mcu Ebenfalls Perfekt..

                                    Ich bin da ganz ehrlich . Ohne deine Hilfe würde ich mittlerweile Jarvis wieder ausgetauscht haben gegen Vis-2 . Aber so komme ich meinen wünschen schon viel näher...

                                    Aber eine Frage habe ich noch wieder dazu ->

                                    Wenn ich ein Widget ausblende besteht die möglichkeit das die sichtbaren Widgets dadrunter den leerraum auffüllen und sich automatisch verschieben ?

                                    aa5d6b48-8f41-4f06-a10e-a64c9f3e1fec-image.png

                                    ad92680e-5ae0-4cbf-954a-a2aeff83fa98-image.png

                                    M X 2 Antworten Letzte Antwort
                                    0
                                    • H Hohenbostler

                                      @mcu Ebenfalls Perfekt..

                                      Ich bin da ganz ehrlich . Ohne deine Hilfe würde ich mittlerweile Jarvis wieder ausgetauscht haben gegen Vis-2 . Aber so komme ich meinen wünschen schon viel näher...

                                      Aber eine Frage habe ich noch wieder dazu ->

                                      Wenn ich ein Widget ausblende besteht die möglichkeit das die sichtbaren Widgets dadrunter den leerraum auffüllen und sich automatisch verschieben ?

                                      aa5d6b48-8f41-4f06-a10e-a64c9f3e1fec-image.png

                                      ad92680e-5ae0-4cbf-954a-a2aeff83fa98-image.png

                                      M Online
                                      M Online
                                      MCU
                                      schrieb am zuletzt editiert von MCU
                                      #985

                                      @hohenbostler Theoretisch ja, da es vom Grid abhängt, muss man alle Gridelemente neu berechnen.
                                      Extrem aufwändig. Weshalb man in solchen Fällen die Elemente nach unten legt, da fällt es nicht so auf?
                                      Ich muss nochmal schauen, ist nicht sogar damit drin,?
                                      Auf dem Handy werden sie ausgeblendet.

                                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                      H 1 Antwort Letzte Antwort
                                      0
                                      • M MCU

                                        @hohenbostler Theoretisch ja, da es vom Grid abhängt, muss man alle Gridelemente neu berechnen.
                                        Extrem aufwändig. Weshalb man in solchen Fällen die Elemente nach unten legt, da fällt es nicht so auf?
                                        Ich muss nochmal schauen, ist nicht sogar damit drin,?
                                        Auf dem Handy werden sie ausgeblendet.

                                        H Offline
                                        H Offline
                                        Hohenbostler
                                        schrieb am zuletzt editiert von
                                        #986

                                        @mcu
                                        Ja ist nur ein Wunsch. Die lagen auch zuerst unten in dem Grid aber das sind naturlich teilweise wichtige Infos . Und wir kennen es selbst unten schaut niemand ;)

                                        1 Antwort Letzte Antwort
                                        0
                                        • H Hohenbostler

                                          @mcu Ebenfalls Perfekt..

                                          Ich bin da ganz ehrlich . Ohne deine Hilfe würde ich mittlerweile Jarvis wieder ausgetauscht haben gegen Vis-2 . Aber so komme ich meinen wünschen schon viel näher...

                                          Aber eine Frage habe ich noch wieder dazu ->

                                          Wenn ich ein Widget ausblende besteht die möglichkeit das die sichtbaren Widgets dadrunter den leerraum auffüllen und sich automatisch verschieben ?

                                          aa5d6b48-8f41-4f06-a10e-a64c9f3e1fec-image.png

                                          ad92680e-5ae0-4cbf-954a-a2aeff83fa98-image.png

                                          X Offline
                                          X Offline
                                          xdelta
                                          schrieb am zuletzt editiert von xdelta
                                          #987

                                          @hohenbostler said in [jarvis v3.1.x - just another remarkable vis]

                                          Ich bin da ganz ehrlich . Ohne deine Hilfe würde ich mittlerweile Jarvis wieder ausgetauscht haben gegen Vis-2 .

                                          Dem möchte ich mich gerne anschließen - gefühlt macht MCU den Support ja hier fast alleine - dafür erstklassig ! Vielen Dank MCU und Zefau !

                                          ch90045C 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          788

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe