Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. jarvis v3.2.x - just another remarkable vis

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    jarvis v3.2.x - just another remarkable vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      der-eine last edited by

      @MCU hast Du ne Idee wo ich schauen könnte, wieso bei mir Jarvis immer nen Reload macht wenn ich in der Konfiguration nur auf speichern drücke?

      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @der-eine last edited by

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

        D 1 Reply Last reply Reply Quote 0
        • D
          der-eine @MCU last edited by

          @mcu ah ok das ist dann quasi normal. 👍

          M 1 Reply Last reply Reply Quote 0
          • M
            MCU @der-eine last edited by

            @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 1 Reply Last reply Reply Quote 0
            • D
              der-eine @MCU last edited by

              @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 Reply Last reply Reply Quote 0
              • M
                MCU @der-eine last edited by

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

                1 Reply Last reply Reply Quote 0
                • M
                  muhlatte @MCU last edited by

                  @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 Replies Last reply Reply Quote 0
                  • M
                    muhlatte last edited by muhlatte

                    sorry doppelpost aufgrund overload

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      MCU @muhlatte last edited by

                      @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ß

                      1 Reply Last reply Reply Quote 0
                      • M
                        MCU @muhlatte last edited by MCU

                        Doppelt Post Overload

                        1 Reply Last reply Reply Quote 0
                        • M
                          MCU @muhlatte last edited by MCU

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

                          1 Reply Last reply Reply Quote 1
                          • M
                            muhlatte last edited by 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 1 Reply Last reply Reply Quote 0
                            • M
                              MCU @muhlatte last edited by

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

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                muhlatte @MCU last edited by

                                @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 Reply Last reply Reply Quote 0
                                • M
                                  MCU @muhlatte last edited by 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 1 Reply Last reply Reply Quote 0
                                  • M
                                    muhlatte @MCU last edited by

                                    @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 Replies Last reply Reply Quote 0
                                    • M
                                      MCU @muhlatte last edited by

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

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        MCU @muhlatte last edited by

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

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          muhlatte @MCU last edited by

                                          @MCU
                                          WidgetAusblendenScript.js

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

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            MCU @muhlatte last edited by 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 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            841
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            43
                                            882
                                            186062
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo