Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. jarvis v3.2.x - just another remarkable 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

jarvis v3.2.x - just another remarkable vis

Geplant Angeheftet Gesperrt Verschoben Tester
899 Beiträge 44 Kommentatoren 251.9k Aufrufe 42 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

    @der-eine Wenn scripts eingestellt sind muss er automatisch ein Reload durchführen.

    D Offline
    D Offline
    der-eine
    schrieb am zuletzt editiert von
    #774

    @mcu ah ok das ist dann quasi normal. 👍

    M 1 Antwort Letzte Antwort
    0
    • D der-eine

      @mcu ah ok das ist dann quasi normal. 👍

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

      @der-eine Ja genau. Das wird sich evtl mal ändern, aber dauert noch sehr sehr lange.
      Hat einen technischen Hintergrund, mit dem man dann scripts direkt im Speicher ändert. (v4, v5??)

      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      D 1 Antwort Letzte Antwort
      0
      • M MCU

        @der-eine Ja genau. Das wird sich evtl mal ändern, aber dauert noch sehr sehr lange.
        Hat einen technischen Hintergrund, mit dem man dann scripts direkt im Speicher ändert. (v4, v5??)

        D Offline
        D Offline
        der-eine
        schrieb am zuletzt editiert von
        #776

        @mcu hab mich nur gewundert weil es nicht von Anfang an so war. Hab nicht bemerkt das es erst seitdem ich Skripts nutze ist.

        M 1 Antwort Letzte Antwort
        0
        • D der-eine

          @mcu hab mich nur gewundert weil es nicht von Anfang an so war. Hab nicht bemerkt das es erst seitdem ich Skripts nutze ist.

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

          @der-eine Dafür gibt es diesen Hinweis
          1e65980e-e10b-4201-b5cc-f1c26d088c33-image.png

          NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          1 Antwort Letzte Antwort
          0
          • M MCU

            @muhlatte

            Habe einfach die Version von github geladen, ich hoffe das passt.

            Ja, das passt.

            Zeig mal die DPs so dass man version und signature sehen kann.

            • Upload von jarvis (console ioBroker) -> iob upload jarvis
            • Sicherung vom System (jarvis) machen
            • einmal das Verzeichnis löschen /opt/iobroker/iobroker-data/jarvis
              -> jarvis neu starten
            M Offline
            M Offline
            muhlatte
            schrieb am zuletzt editiert von
            #778

            @mcu
            Alles gemacht, leider ohne Erfolg. Datenpunkte vor dem Prozedere

            f00201e7-ca14-4ef1-931e-1342a5b90f21-image.png

            und dann noch danach
            cbacefd3-ea4a-4320-9cea-6d9ab79073cb-image.png

            mit jarvis neu starten meinst du den Adapter neu starten, richtig? Dank dir für all die Tipps!

            M 2 Antworten Letzte Antwort
            0
            • M Offline
              M Offline
              muhlatte
              schrieb am zuletzt editiert von muhlatte
              #779

              sorry doppelpost aufgrund overload

              M 1 Antwort Letzte Antwort
              0
              • M muhlatte

                @mcu
                Alles gemacht, leider ohne Erfolg. Datenpunkte vor dem Prozedere

                f00201e7-ca14-4ef1-931e-1342a5b90f21-image.png

                und dann noch danach
                cbacefd3-ea4a-4320-9cea-6d9ab79073cb-image.png

                mit jarvis neu starten meinst du den Adapter neu starten, richtig? Dank dir für all die Tipps!

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

                @muhlatte Ja Adapter / Instanz neu starten.
                Wie sieht der Inhalt vom DP scripts aus? -> code-tags
                Kannst du mal die Notifications auslagern, bzw. löschen falls sie nicht mehr gebraucht werden.

                Die beiden DPs wurden nicht von Jarvis bestätigt -> sind rot nicht weiß

                NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                1 Antwort Letzte Antwort
                0
                • M muhlatte

                  @mcu
                  Alles gemacht, leider ohne Erfolg. Datenpunkte vor dem Prozedere

                  f00201e7-ca14-4ef1-931e-1342a5b90f21-image.png

                  und dann noch danach
                  cbacefd3-ea4a-4320-9cea-6d9ab79073cb-image.png

                  mit jarvis neu starten meinst du den Adapter neu starten, richtig? Dank dir für all die Tipps!

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

                  Doppelt Post Overload

                  NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                  1 Antwort Letzte Antwort
                  0
                  • M muhlatte

                    sorry doppelpost aufgrund overload

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

                    @muhlatte Und immer Cache löschen auf allen benutzten / aktiven Geräten!

                    NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                    1 Antwort Letzte Antwort
                    1
                    • M Offline
                      M Offline
                      muhlatte
                      schrieb am zuletzt editiert von muhlatte
                      #783

                      @MCU
                      DP scripts sieht folgendermaßen aus

                      {
                        "version": 3.2,
                        "signature": 7813676603462119,
                        "scripts": {}
                      }
                      

                      Ich habe immer den Cache des einen Gerätes gelöscht auf dem ich gerade war, hatte aber nacheinander auch schon die anderen gelöscht gehabt im Rahmen meines Umstiegs auf rc12 (weil die Verbindung eh gestreikt hat).

                      die 5 archivierten notifications hab ich gelöscht, klammer ist jetzt leer (trotzdem rot).

                      UPDATE:
                      Ich werd' verrückt, es hat tatsächlich daran gelegen, dass ich nicht alle Instanzen zu hatte. Dann bei Cache löschen der letzten aktiven Instanz hats geklappt! Vielen lieben Dank! 🤝 💋
                      --> vielleicht hat mein aktiver pihole da auch mit reingespuckt, den hab ich nämlich auch noch aus gemacht!

                      Jetzt muss ich es nur noch hinbekommen, dass das Widget auch wirklich ausblendet, aber das ist dann der nächste Step.
                      Vielleicht eine Frage dazu, Mit meinem Script

                      window.Socket.subscribeState('0_userdata.0.Alarmanlage.Alarmanlagen_Steuerung_Einblendung', ({ err, state }) => {
                      	if (err){
                      	   console.log('Error DP holen');
                      	}else{
                      		if (state.val) {
                      			displayOffObj['2db1b208-cedd-41a7-9382-141fbf2a82ae']=false;
                      		}else{
                      			displayOffObj['2db1b208-cedd-41a7-9382-141fbf2a82ae']=true;
                      		}
                      		widgetsActualize();
                      	}
                      });
                      

                      schaltet er dann instantan die Anzeige des Widgets aus sobald ich den obigen Datenpunkt ändere, richtig?

                      M 1 Antwort Letzte Antwort
                      0
                      • M muhlatte

                        @MCU
                        DP scripts sieht folgendermaßen aus

                        {
                          "version": 3.2,
                          "signature": 7813676603462119,
                          "scripts": {}
                        }
                        

                        Ich habe immer den Cache des einen Gerätes gelöscht auf dem ich gerade war, hatte aber nacheinander auch schon die anderen gelöscht gehabt im Rahmen meines Umstiegs auf rc12 (weil die Verbindung eh gestreikt hat).

                        die 5 archivierten notifications hab ich gelöscht, klammer ist jetzt leer (trotzdem rot).

                        UPDATE:
                        Ich werd' verrückt, es hat tatsächlich daran gelegen, dass ich nicht alle Instanzen zu hatte. Dann bei Cache löschen der letzten aktiven Instanz hats geklappt! Vielen lieben Dank! 🤝 💋
                        --> vielleicht hat mein aktiver pihole da auch mit reingespuckt, den hab ich nämlich auch noch aus gemacht!

                        Jetzt muss ich es nur noch hinbekommen, dass das Widget auch wirklich ausblendet, aber das ist dann der nächste Step.
                        Vielleicht eine Frage dazu, Mit meinem Script

                        window.Socket.subscribeState('0_userdata.0.Alarmanlage.Alarmanlagen_Steuerung_Einblendung', ({ err, state }) => {
                        	if (err){
                        	   console.log('Error DP holen');
                        	}else{
                        		if (state.val) {
                        			displayOffObj['2db1b208-cedd-41a7-9382-141fbf2a82ae']=false;
                        		}else{
                        			displayOffObj['2db1b208-cedd-41a7-9382-141fbf2a82ae']=true;
                        		}
                        		widgetsActualize();
                        	}
                        });
                        

                        schaltet er dann instantan die Anzeige des Widgets aus sobald ich den obigen Datenpunkt ändere, richtig?

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

                        @muhlatte In scripts ist nur ein Eintrag -> @import "http:...."
                        Programm einstellungen sind im script!

                        NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                        M 1 Antwort Letzte Antwort
                        0
                        • M MCU

                          @muhlatte In scripts ist nur ein Eintrag -> @import "http:...."
                          Programm einstellungen sind im script!

                          M Offline
                          M Offline
                          muhlatte
                          schrieb am zuletzt editiert von
                          #785

                          @MCU
                          Jo der obige Code steckt bei mir in WidgetAusblendenScript.js auf dem jarvis user Ordner. Im scripts DP ist der Eintrag nun drin also gehe ich davon aus es hat geklappt. nur das Ausblenden über den

                          0_userdata.0.Alarmanlage.Alarmanlagen_Steuerung_Einblendung
                          

                          klappt noch nicht. Ich gehe davon aus dass der false oder true sein muss, korrekt?

                          M 1 Antwort Letzte Antwort
                          0
                          • M muhlatte

                            @MCU
                            Jo der obige Code steckt bei mir in WidgetAusblendenScript.js auf dem jarvis user Ordner. Im scripts DP ist der Eintrag nun drin also gehe ich davon aus es hat geklappt. nur das Ausblenden über den

                            0_userdata.0.Alarmanlage.Alarmanlagen_Steuerung_Einblendung
                            

                            klappt noch nicht. Ich gehe davon aus dass der false oder true sein muss, korrekt?

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

                            @muhlatte Nicht unbedingt, man muss es halt definieren, wie man es braucht
                            Wie ist denn der Type vom DP
                            So wie es oben beim subscribe definiert ist muss es boolean sein und bei true wird das Widget angezeigt.

                            NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                            M 1 Antwort Letzte Antwort
                            0
                            • M MCU

                              @muhlatte Nicht unbedingt, man muss es halt definieren, wie man es braucht
                              Wie ist denn der Type vom DP
                              So wie es oben beim subscribe definiert ist muss es boolean sein und bei true wird das Widget angezeigt.

                              M Offline
                              M Offline
                              muhlatte
                              schrieb am zuletzt editiert von
                              #787

                              @MCU
                              Jo genau so hab ich es gemacht nur passiert leider nichts wenn ich von false auf true schalte, es wird immer angezeigt. Ich gehe davon aus, dass die ID auch richtig ist, oder?

                              2cf94620-912d-44a7-9416-88cc398a685a-image.png

                              M 2 Antworten Letzte Antwort
                              0
                              • M muhlatte

                                @MCU
                                Jo genau so hab ich es gemacht nur passiert leider nichts wenn ich von false auf true schalte, es wird immer angezeigt. Ich gehe davon aus, dass die ID auch richtig ist, oder?

                                2cf94620-912d-44a7-9416-88cc398a685a-image.png

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

                                @muhlatte Ja geht nicht, schaue ich mir an. Liegt irgendwo im Programm. Melde mich.

                                NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                1 Antwort Letzte Antwort
                                0
                                • M muhlatte

                                  @MCU
                                  Jo genau so hab ich es gemacht nur passiert leider nichts wenn ich von false auf true schalte, es wird immer angezeigt. Ich gehe davon aus, dass die ID auch richtig ist, oder?

                                  2cf94620-912d-44a7-9416-88cc398a685a-image.png

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

                                  @muhlatte Doch funktioniert, hatte falsche script-Bezeichnung.
                                  Stell mal bitte das komplette Script rein.
                                  Und einmal den scripts-Eintrag

                                  NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                  M 1 Antwort Letzte Antwort
                                  0
                                  • M MCU

                                    @muhlatte Doch funktioniert, hatte falsche script-Bezeichnung.
                                    Stell mal bitte das komplette Script rein.
                                    Und einmal den scripts-Eintrag

                                    M Offline
                                    M Offline
                                    muhlatte
                                    schrieb am zuletzt editiert von
                                    #790

                                    @MCU
                                    WidgetAusblendenScript.js

                                    Importbefehl in scripts:
                                    @import"https://192.168.178.96:8400/user/WidgetAusblendenScript.js";

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • M muhlatte

                                      @MCU
                                      WidgetAusblendenScript.js

                                      Importbefehl in scripts:
                                      @import"https://192.168.178.96:8400/user/WidgetAusblendenScript.js";

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

                                      @muhlatte Das kann nicht funktionieren.

                                      // **************************************************
                                      // 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.Alarmanlage.Alarmanlagen_Steuerung_Einblendung', ({ err, state }) => {
                                      	if (err){
                                      	   console.log('Error DP holen');
                                      	}else{
                                      		if (state.val) {
                                      			displayOffObj['2db1b208-cedd-41a7-9382-141fbf2a82ae']=false;
                                      		}else{
                                      			displayOffObj['2db1b208-cedd-41a7-9382-141fbf2a82ae']=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);
                                          }
                                      }  
                                      

                                      Bei weiteren Fragen dazu bitte auf den anderen Thread wechseln.
                                      https://forum.iobroker.net/topic/52228/howto-zusatz-programme-fuer-jarvis-v3

                                      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • M MCU

                                        @muhlatte Das kann nicht funktionieren.

                                        // **************************************************
                                        // 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.Alarmanlage.Alarmanlagen_Steuerung_Einblendung', ({ err, state }) => {
                                        	if (err){
                                        	   console.log('Error DP holen');
                                        	}else{
                                        		if (state.val) {
                                        			displayOffObj['2db1b208-cedd-41a7-9382-141fbf2a82ae']=false;
                                        		}else{
                                        			displayOffObj['2db1b208-cedd-41a7-9382-141fbf2a82ae']=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);
                                            }
                                        }  
                                        

                                        Bei weiteren Fragen dazu bitte auf den anderen Thread wechseln.
                                        https://forum.iobroker.net/topic/52228/howto-zusatz-programme-fuer-jarvis-v3

                                        M Offline
                                        M Offline
                                        muhlatte
                                        schrieb am zuletzt editiert von
                                        #792

                                        @mcu
                                        Ok mache ich dann. Leider hat die Änderung nicht funktioniert, in der Console wird

                                        Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
                                        

                                        78ac3c09-8754-41ed-a29a-023a06d2d47c-image.png

                                        angezeigt.

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • M muhlatte

                                          @mcu
                                          Ok mache ich dann. Leider hat die Änderung nicht funktioniert, in der Console wird

                                          Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR
                                          

                                          78ac3c09-8754-41ed-a29a-023a06d2d47c-image.png

                                          angezeigt.

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

                                          @muhlatte Du hast den Inhalt der Datei einfach nur geändert und gespeichert?
                                          War der Fehler vorher auch?
                                          Hast du denn https?
                                          7cdd131f-f9f6-497f-bae4-084b99ef9709-image.png
                                          Nicht einschalten, wenn du es nicht hattest -> http://... verwenden
                                          Was steht im jarvis-scripts Verzeichnis?
                                          956d2afc-e546-4e9a-8f37-96b472e24651-image.png

                                          NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          353

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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