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. Skripten / Logik
  4. JavaScript
  5. HowTo: Zusatz-Programme fuer jarvis v3

NEWS

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

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

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

HowTo: Zusatz-Programme fuer jarvis v3

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
889 Beiträge 33 Kommentatoren 214.2k Aufrufe 37 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

    @uwe72 deviceItem muss 1 sein.
    Langsames Frontend-System Tablet?

    4c9b2b94-249c-4984-a01e-908fa3dbb49f-image.png
    Passt nicht zur Anzeige?
    Ist da irgendetwas ausgeblendet?

    9ace2183-cc58-4994-9b0e-3dd07ea60135-image.png

    rechte Maustaste auf HG 15 Zeile -> untersuchen
    ab jarvis-popup inkl jarvis-StateListItem-Popup
    cf7dafa9-90a4-4f35-adf0-a9d8f81dc40e-image.png

    U Offline
    U Offline
    uwe72
    schrieb am zuletzt editiert von
    #779

    @mcu said in HowTo: Zusatz-Programme fuer jarvis v3:

    @uwe72 deviceItem muss 1 sein.
    Langsames Frontend-System Tablet?

    4c9b2b94-249c-4984-a01e-908fa3dbb49f-image.png
    Passt nicht zur Anzeige?
    Ist da irgendetwas ausgeblendet?

    9ace2183-cc58-4994-9b0e-3dd07ea60135-image.png

    rechte Maustaste auf HG 15 Zeile -> untersuchen
    ab jarvis-popup inkl jarvis-StateListItem-Popup
    cf7dafa9-90a4-4f35-adf0-a9d8f81dc40e-image.png

    Ja, sind Zeilen ausgeblendet.

    Passt dies so?
    cf5d4a36-8059-4550-bf0f-7ca1b7d1a26e-image.png

    M 1 Antwort Letzte Antwort
    0
    • U uwe72

      @mcu said in HowTo: Zusatz-Programme fuer jarvis v3:

      @uwe72 deviceItem muss 1 sein.
      Langsames Frontend-System Tablet?

      4c9b2b94-249c-4984-a01e-908fa3dbb49f-image.png
      Passt nicht zur Anzeige?
      Ist da irgendetwas ausgeblendet?

      9ace2183-cc58-4994-9b0e-3dd07ea60135-image.png

      rechte Maustaste auf HG 15 Zeile -> untersuchen
      ab jarvis-popup inkl jarvis-StateListItem-Popup
      cf7dafa9-90a4-4f35-adf0-a9d8f81dc40e-image.png

      Ja, sind Zeilen ausgeblendet.

      Passt dies so?
      cf5d4a36-8059-4550-bf0f-7ca1b7d1a26e-image.png

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

      @uwe72 Wie kommen der Sache evtl näher, console.log angepasst was steht im LOG?
      f06a31c6-1bf9-4397-a1c9-914f39a0abf7-image.png

      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
      • M MCU

        @uwe72 Das ist kein normaler Device-Popup?
        8cbdbed6-207d-4485-b335-c56743262e85-image.png

        In der function mal die console.log aktivieren und mit F12 im log schauen

        function changeLabelPopup(deviceId, deviceItem, txt){
        	//console.log('ChangeLabelDevicePopup')
        	let doc = document.getElementsByClassName('jarvis-device-'+deviceId);
        	if(doc.length >0){
        		//console.log('Device gefunden')
        		let popup = doc[0].getElementsByClassName('jarvis-popup')
        		if(popup.length>0){
        			//console.log('Popup gefunden')
        			let deviceItems = popup[0].getElementsByClassName('jarvis-StateListItem-Popup')
        			let device = deviceItems[deviceItem]
        			let body = device.getElementsByClassName('jarvis-StateListItem-Body')
        			if(body.length >0){
        				let label = body[0].getElementsByClassName('q-item__label')
        				label[0].innerHTML = txt
        			}
        		}
        	}
        }
        
        U Offline
        U Offline
        uwe72
        schrieb am zuletzt editiert von uwe72
        #781

        @mcu said in HowTo: Zusatz-Programme fuer jarvis v3:

        @uwe72 Das ist kein normaler Device-Popup?
        8cbdbed6-207d-4485-b335-c56743262e85-image.png

        In der function mal die console.log aktivieren und mit F12 im log schauen

        function changeLabelPopup(deviceId, deviceItem, txt){
        	//console.log('ChangeLabelDevicePopup')
        	let doc = document.getElementsByClassName('jarvis-device-'+deviceId);
        	if(doc.length >0){
        		//console.log('Device gefunden')
        		let popup = doc[0].getElementsByClassName('jarvis-popup')
        		if(popup.length>0){
        			//console.log('Popup gefunden')
        			let deviceItems = popup[0].getElementsByClassName('jarvis-StateListItem-Popup')
        			let device = deviceItems[deviceItem]
        			let body = device.getElementsByClassName('jarvis-StateListItem-Body')
        			if(body.length >0){
        				let label = body[0].getElementsByClassName('q-item__label')
        				label[0].innerHTML = txt
        			}
        		}
        	}
        }
        

        482ae709-088f-415d-975e-933a59d41926-image.png

        4e4c716a-e244-41e7-b50c-2fc411469974-image.png

        M 1 Antwort Letzte Antwort
        0
        • U uwe72

          @mcu said in HowTo: Zusatz-Programme fuer jarvis v3:

          @uwe72 Das ist kein normaler Device-Popup?
          8cbdbed6-207d-4485-b335-c56743262e85-image.png

          In der function mal die console.log aktivieren und mit F12 im log schauen

          function changeLabelPopup(deviceId, deviceItem, txt){
          	//console.log('ChangeLabelDevicePopup')
          	let doc = document.getElementsByClassName('jarvis-device-'+deviceId);
          	if(doc.length >0){
          		//console.log('Device gefunden')
          		let popup = doc[0].getElementsByClassName('jarvis-popup')
          		if(popup.length>0){
          			//console.log('Popup gefunden')
          			let deviceItems = popup[0].getElementsByClassName('jarvis-StateListItem-Popup')
          			let device = deviceItems[deviceItem]
          			let body = device.getElementsByClassName('jarvis-StateListItem-Body')
          			if(body.length >0){
          				let label = body[0].getElementsByClassName('q-item__label')
          				label[0].innerHTML = txt
          			}
          		}
          	}
          }
          

          482ae709-088f-415d-975e-933a59d41926-image.png

          4e4c716a-e244-41e7-b50c-2fc411469974-image.png

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

          @uwe72

          item :0,
          deviceItem:1
          

          cca0a497-9316-4c0e-8d10-4f4a23618219-image.png

          Du wllst aber sehr wahrscheinlich im Widget keine Anpassung?

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

          U I 2 Antworten Letzte Antwort
          0
          • M MCU

            @uwe72

            item :0,
            deviceItem:1
            

            cca0a497-9316-4c0e-8d10-4f4a23618219-image.png

            Du wllst aber sehr wahrscheinlich im Widget keine Anpassung?

            U Offline
            U Offline
            uwe72
            schrieb am zuletzt editiert von uwe72
            #783

            @mcu said in HowTo: Zusatz-Programme fuer jarvis v3:

            @uwe72

            item :0,
            deviceItem:1
            

            cca0a497-9316-4c0e-8d10-4f4a23618219-image.png

            Du wllst aber sehr wahrscheinlich im Widget keine Anpassung?

            Jetzt hat sich was getan.
            Aber genau, möchte im Widget keine Anpassung, sondern nur im Popup:
            5bb82614-b463-4c26-812e-4798baa7fb89-image.png

            M 1 Antwort Letzte Antwort
            0
            • M MCU

              @intruder7 Du hast im Programm console.warn(qJSON) genutzt?

              I Online
              I Online
              intruder7
              schrieb am zuletzt editiert von
              #784

              @mcu jap, da in der LOG Datei gerade irgendwie nur ab Warn aufgezeichnet wird obwohl ich hier auf Info umgestellt hatte.
              e91c25c9-c9d5-4e18-8ead-d714cbb5cd86-image.png

              1 Antwort Letzte Antwort
              0
              • M MCU

                @uwe72

                item :0,
                deviceItem:1
                

                cca0a497-9316-4c0e-8d10-4f4a23618219-image.png

                Du wllst aber sehr wahrscheinlich im Widget keine Anpassung?

                I Online
                I Online
                intruder7
                schrieb am zuletzt editiert von
                #785

                @mcu aber hab gerade gesehen, hätte dies diekt am Host umstellen müssen

                M 1 Antwort Letzte Antwort
                0
                • U uwe72

                  @mcu said in HowTo: Zusatz-Programme fuer jarvis v3:

                  @uwe72

                  item :0,
                  deviceItem:1
                  

                  cca0a497-9316-4c0e-8d10-4f4a23618219-image.png

                  Du wllst aber sehr wahrscheinlich im Widget keine Anpassung?

                  Jetzt hat sich was getan.
                  Aber genau, möchte im Widget keine Anpassung, sondern nur im Popup:
                  5bb82614-b463-4c26-812e-4798baa7fb89-image.png

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

                  @uwe72 <br> fehlt aber noch im DP?

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

                  U 1 Antwort Letzte Antwort
                  0
                  • M MCU

                    @uwe72 <br> fehlt aber noch im DP?

                    U Offline
                    U Offline
                    uwe72
                    schrieb am zuletzt editiert von
                    #787

                    @mcu ja, habe ich nun angepasst, und oben Screenshot ausgetauscht

                    M 1 Antwort Letzte Antwort
                    0
                    • U uwe72

                      @mcu ja, habe ich nun angepasst, und oben Screenshot ausgetauscht

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

                      @uwe72 Jetzt mal ins LOG F12 schauen

                      console.log() aktivieren -> // davor entfernen

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

                      U 1 Antwort Letzte Antwort
                      0
                      • M MCU

                        @uwe72 Jetzt mal ins LOG F12 schauen

                        console.log() aktivieren -> // davor entfernen

                        U Offline
                        U Offline
                        uwe72
                        schrieb am zuletzt editiert von
                        #789

                        @mcu said in HowTo: Zusatz-Programme fuer jarvis v3:

                        @uwe72 Jetzt mal ins LOG F12 schauen

                        console.log() aktivieren -> // davor entfernen

                        772d3327-913f-4a75-8cba-a860cb6e522e-image.png

                        U 1 Antwort Letzte Antwort
                        0
                        • U uwe72

                          @mcu said in HowTo: Zusatz-Programme fuer jarvis v3:

                          @uwe72 Jetzt mal ins LOG F12 schauen

                          console.log() aktivieren -> // davor entfernen

                          772d3327-913f-4a75-8cba-a860cb6e522e-image.png

                          U Offline
                          U Offline
                          uwe72
                          schrieb am zuletzt editiert von
                          #790

                          hab noch nicht alle log-Ausgaben einkommentiert

                          M 2 Antworten Letzte Antwort
                          0
                          • U uwe72

                            hab noch nicht alle log-Ausgaben einkommentiert

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

                            @uwe72 Mache gerade neue Version

                            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
                            1
                            • U uwe72

                              hab noch nicht alle log-Ausgaben einkommentiert

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

                              @uwe72 Dies sollte jetzt mit der neuen Version im LOG erscheinen

                              6d30e177-3add-4777-9139-e9222f67bd96-image.png

                              Du kannst jetzt WidgetId und item weglassen, wenn du dort keine Änderung haben willst

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

                              U 1 Antwort Letzte Antwort
                              0
                              • M MCU

                                @uwe72 Dies sollte jetzt mit der neuen Version im LOG erscheinen

                                6d30e177-3add-4777-9139-e9222f67bd96-image.png

                                Du kannst jetzt WidgetId und item weglassen, wenn du dort keine Änderung haben willst

                                U Offline
                                U Offline
                                uwe72
                                schrieb am zuletzt editiert von
                                #793

                                @mcu babb2cc1-f61f-40d9-b9a1-f4f4ac249cdb-image.png

                                M 1 Antwort Letzte Antwort
                                0
                                • U uwe72

                                  @mcu babb2cc1-f61f-40d9-b9a1-f4f4ac249cdb-image.png

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

                                  @uwe72 Was steht jetzt im Objekt vom widgetArr?

                                  Einmal die Zeile let dp = -> // deaktivieren
                                  2476f030-8b9d-4d55-a0d7-44bdefcee8fc-image.png
                                  Bei Dir Zeile 54

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

                                  U 1 Antwort Letzte Antwort
                                  0
                                  • M MCU

                                    @uwe72 Was steht jetzt im Objekt vom widgetArr?

                                    Einmal die Zeile let dp = -> // deaktivieren
                                    2476f030-8b9d-4d55-a0d7-44bdefcee8fc-image.png
                                    Bei Dir Zeile 54

                                    U Offline
                                    U Offline
                                    uwe72
                                    schrieb am zuletzt editiert von
                                    #795

                                    @mcu

                                    ich starte nun mal so:

                                    // ***************************
                                    // stateListLabelChange v1.0.3
                                    // ***************************
                                    // Copyright ©MCU
                                    // v1.0.1 - Korrektur Tabwechsel
                                    // v1.0.2 - für Device-Popup erweitert
                                    // v1.0.3 - Widget oder Device optional, Logging Test
                                    
                                    let widgetArr = [
                                    					{
                                    						dp:'0_userdata.0.DP.dp1',
                                    						deviceId: 'device_HG015',
                                    						deviceItem: 2
                                    					}
                                    				]
                                    
                                    let loggingSLLC = true;
                                    
                                    let valueSLLCObj = {}
                                    
                                    docReady(function() {
                                    	if (isConfig()){
                                    	}else{
                                    		console.log('%cStart stateListLabelChange.js','color:yellow;');
                                    		setTimeout(function(){
                                    			setSubscriptionDPs(widgetArr)
                                    		},100)
                                    		document.addEventListener("click", function (event) {
                                    			if (isConfig()){
                                    			}else{
                                    				console.log('%cKlick stateListLabelChange','color:orange');
                                    				setTimeout(function(){
                                    					
                                    					for(let i=0;i<widgetArr.length;i++){
                                    						if(valueSLLCObj[widgetArr[i].dp]){
                                    							if(widgetArr[i].widgetId && widgetArr[i].item != undefined){
                                    								changeLabel(widgetArr[i].widgetId, widgetArr[i].item, valueSLLCObj[widgetArr[i].dp])
                                    							}
                                    							setTimeout(function(){
                                    								if(widgetArr[i].deviceId && widgetArr[i].deviceItem != undefined){
                                    									changeLabelPopup(widgetArr[i].deviceId, widgetArr[i].deviceItem, valueSLLCObj[widgetArr[i].dp] )
                                    								}
                                    							},500)
                                    						}
                                    					}
                                    				},100)
                                    			}
                                    		});
                                    	}
                                    });
                                    
                                    function setSubscriptionDPs(arr){
                                    	for(let obj in arr){
                                    		console.log(arr[dp])
                                    		//let dp = Object.keys(arr[obj])[0]
                                    		 console.log(dp)
                                    		window.Socket.subscribeState(arr[obj].dp, ({ err, state }) => {
                                    			valueSLLCObj[arr[obj].dp] = state.val;
                                    			if(arr[obj].widgetId && arr[obj].item!= undefined){
                                    				changeLabel(arr[obj].widgetId, arr[obj].item,state.val )
                                    			}
                                    			if(arr[obj].deviceId && arr[obj].deviceItem!= undefined){
                                    				changeLabelPopup(arr[obj].deviceId,arr[obj].deviceItem, state.val)
                                    			}
                                    		});
                                    		
                                    	}
                                    }
                                    
                                    
                                    
                                    function changeLabel(widgetId,item, txt){
                                    	console.log('WidgetId: '+widgetId + ' Item: '+item )
                                    	let doc = document.getElementsByClassName('jarvis-widget-'+widgetId);
                                    	let dpVal;
                                    	console.log('ChangeLabel')
                                    	if(doc.length>0){
                                    		let stateList = doc[0].getElementsByClassName('jarvis-StateList');
                                    		if(stateList.length > 0){
                                    			let slItems = stateList[0].getElementsByClassName('jarvis-StateListItem');
                                    			if(slItems.length >0){
                                    				let slBody = slItems[item].getElementsByClassName('jarvis-StateListItem-Body')
                                    				if(slBody.length > 0){
                                    					console.log('gefunden ')
                                    					let slLabel = slBody[0].getElementsByClassName('q-item__label')
                                    					console.log(slLabel)
                                    					slLabel[0].innerHTML = txt
                                    				}
                                    			}
                                    			
                                    		}
                                    	}
                                    }
                                    
                                    function changeLabelPopup(deviceId, deviceItem, txt){
                                    	console.log('ChangeLabelDevicePopup')
                                    	let doc = document.getElementsByClassName('jarvis-device-'+deviceId);
                                    	if(doc.length >0){
                                    		if(loggingSLLC) console.log('Device gefunden')
                                    		let popup = doc[0].getElementsByClassName('jarvis-popup')
                                    		if(popup.length>0){
                                    			if(loggingSLLC) console.log('Popup gefunden')
                                    			let deviceItems = popup[0].getElementsByClassName('jarvis-StateListItem-Popup')
                                    			if(loggingSLLC) console.log(deviceItems)
                                    			let device = deviceItems[deviceItem]
                                    			if(loggingSLLC) console.log(device)
                                    			let body = device.getElementsByClassName('jarvis-StateListItem-Body')
                                    			if(body.length >0){
                                    				if(loggingSLLC) console.log('Body gefunden')
                                    				let label = body[0].getElementsByClassName('q-item__label')
                                    				label[0].innerHTML = txt
                                    			}
                                    		}
                                    	}
                                    }
                                    
                                    
                                    
                                    
                                    function isConfig(){
                                    	console.log(document.baseURI);
                                    	if (document.baseURI.indexOf('configuration') >=0){
                                    		console.log('Konfig aktiv');
                                    		return true;
                                    		
                                    	}else{
                                    		console.log('Konfig nicht aktiv');
                                    		return false;		
                                    	}
                                    }
                                    
                                    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);
                                        }
                                    }
                                    
                                    M 1 Antwort Letzte Antwort
                                    1
                                    • U uwe72

                                      @mcu

                                      ich starte nun mal so:

                                      // ***************************
                                      // stateListLabelChange v1.0.3
                                      // ***************************
                                      // Copyright ©MCU
                                      // v1.0.1 - Korrektur Tabwechsel
                                      // v1.0.2 - für Device-Popup erweitert
                                      // v1.0.3 - Widget oder Device optional, Logging Test
                                      
                                      let widgetArr = [
                                      					{
                                      						dp:'0_userdata.0.DP.dp1',
                                      						deviceId: 'device_HG015',
                                      						deviceItem: 2
                                      					}
                                      				]
                                      
                                      let loggingSLLC = true;
                                      
                                      let valueSLLCObj = {}
                                      
                                      docReady(function() {
                                      	if (isConfig()){
                                      	}else{
                                      		console.log('%cStart stateListLabelChange.js','color:yellow;');
                                      		setTimeout(function(){
                                      			setSubscriptionDPs(widgetArr)
                                      		},100)
                                      		document.addEventListener("click", function (event) {
                                      			if (isConfig()){
                                      			}else{
                                      				console.log('%cKlick stateListLabelChange','color:orange');
                                      				setTimeout(function(){
                                      					
                                      					for(let i=0;i<widgetArr.length;i++){
                                      						if(valueSLLCObj[widgetArr[i].dp]){
                                      							if(widgetArr[i].widgetId && widgetArr[i].item != undefined){
                                      								changeLabel(widgetArr[i].widgetId, widgetArr[i].item, valueSLLCObj[widgetArr[i].dp])
                                      							}
                                      							setTimeout(function(){
                                      								if(widgetArr[i].deviceId && widgetArr[i].deviceItem != undefined){
                                      									changeLabelPopup(widgetArr[i].deviceId, widgetArr[i].deviceItem, valueSLLCObj[widgetArr[i].dp] )
                                      								}
                                      							},500)
                                      						}
                                      					}
                                      				},100)
                                      			}
                                      		});
                                      	}
                                      });
                                      
                                      function setSubscriptionDPs(arr){
                                      	for(let obj in arr){
                                      		console.log(arr[dp])
                                      		//let dp = Object.keys(arr[obj])[0]
                                      		 console.log(dp)
                                      		window.Socket.subscribeState(arr[obj].dp, ({ err, state }) => {
                                      			valueSLLCObj[arr[obj].dp] = state.val;
                                      			if(arr[obj].widgetId && arr[obj].item!= undefined){
                                      				changeLabel(arr[obj].widgetId, arr[obj].item,state.val )
                                      			}
                                      			if(arr[obj].deviceId && arr[obj].deviceItem!= undefined){
                                      				changeLabelPopup(arr[obj].deviceId,arr[obj].deviceItem, state.val)
                                      			}
                                      		});
                                      		
                                      	}
                                      }
                                      
                                      
                                      
                                      function changeLabel(widgetId,item, txt){
                                      	console.log('WidgetId: '+widgetId + ' Item: '+item )
                                      	let doc = document.getElementsByClassName('jarvis-widget-'+widgetId);
                                      	let dpVal;
                                      	console.log('ChangeLabel')
                                      	if(doc.length>0){
                                      		let stateList = doc[0].getElementsByClassName('jarvis-StateList');
                                      		if(stateList.length > 0){
                                      			let slItems = stateList[0].getElementsByClassName('jarvis-StateListItem');
                                      			if(slItems.length >0){
                                      				let slBody = slItems[item].getElementsByClassName('jarvis-StateListItem-Body')
                                      				if(slBody.length > 0){
                                      					console.log('gefunden ')
                                      					let slLabel = slBody[0].getElementsByClassName('q-item__label')
                                      					console.log(slLabel)
                                      					slLabel[0].innerHTML = txt
                                      				}
                                      			}
                                      			
                                      		}
                                      	}
                                      }
                                      
                                      function changeLabelPopup(deviceId, deviceItem, txt){
                                      	console.log('ChangeLabelDevicePopup')
                                      	let doc = document.getElementsByClassName('jarvis-device-'+deviceId);
                                      	if(doc.length >0){
                                      		if(loggingSLLC) console.log('Device gefunden')
                                      		let popup = doc[0].getElementsByClassName('jarvis-popup')
                                      		if(popup.length>0){
                                      			if(loggingSLLC) console.log('Popup gefunden')
                                      			let deviceItems = popup[0].getElementsByClassName('jarvis-StateListItem-Popup')
                                      			if(loggingSLLC) console.log(deviceItems)
                                      			let device = deviceItems[deviceItem]
                                      			if(loggingSLLC) console.log(device)
                                      			let body = device.getElementsByClassName('jarvis-StateListItem-Body')
                                      			if(body.length >0){
                                      				if(loggingSLLC) console.log('Body gefunden')
                                      				let label = body[0].getElementsByClassName('q-item__label')
                                      				label[0].innerHTML = txt
                                      			}
                                      		}
                                      	}
                                      }
                                      
                                      
                                      
                                      
                                      function isConfig(){
                                      	console.log(document.baseURI);
                                      	if (document.baseURI.indexOf('configuration') >=0){
                                      		console.log('Konfig aktiv');
                                      		return true;
                                      		
                                      	}else{
                                      		console.log('Konfig nicht aktiv');
                                      		return false;		
                                      	}
                                      }
                                      
                                      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);
                                          }
                                      }
                                      
                                      M Online
                                      M Online
                                      MCU
                                      schrieb am zuletzt editiert von
                                      #796

                                      @uwe72 Passt,

                                      //console.log(arr[dp])
                                      		//let dp = Object.keys(arr[obj])[0]
                                      //		 console.log(dp)
                                      

                                      Die beiden console.log auch deaktivieren

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

                                      U 1 Antwort Letzte Antwort
                                      0
                                      • M MCU

                                        @uwe72 Passt,

                                        //console.log(arr[dp])
                                        		//let dp = Object.keys(arr[obj])[0]
                                        //		 console.log(dp)
                                        

                                        Die beiden console.log auch deaktivieren

                                        U Offline
                                        U Offline
                                        uwe72
                                        schrieb am zuletzt editiert von
                                        #797

                                        @mcu

                                        // ***************************
                                        // stateListLabelChange v1.0.3
                                        // ***************************
                                        // Copyright ©MCU
                                        // v1.0.1 - Korrektur Tabwechsel
                                        // v1.0.2 - für Device-Popup erweitert
                                        // v1.0.3 - Widget oder Device optional, Logging Test
                                        
                                        let widgetArr = [
                                        					{
                                        						dp: '0_userdata.0.DP.dp1',
                                        						deviceId: 'device_HG015',
                                        						deviceItem: 2
                                        					}
                                        				]
                                        
                                        let loggingSLLC = true;
                                        
                                        let valueSLLCObj = {}
                                        
                                        docReady(function() {
                                        	if (isConfig()){
                                        	}else{
                                        		console.log('%cStart stateListLabelChange.js','color:yellow;');
                                        		setTimeout(function(){
                                        			setSubscriptionDPs(widgetArr)
                                        		},100)
                                        		document.addEventListener("click", function (event) {
                                        			if (isConfig()){
                                        			}else{
                                        				console.log('%cKlick stateListLabelChange','color:orange');
                                        				setTimeout(function(){
                                        					
                                        					for(let i=0;i<widgetArr.length;i++){
                                        						if(valueSLLCObj[widgetArr[i].dp]){
                                        							if(widgetArr[i].widgetId && widgetArr[i].item != undefined){
                                        								changeLabel(widgetArr[i].widgetId, widgetArr[i].item, valueSLLCObj[widgetArr[i].dp])
                                        							}
                                        							setTimeout(function(){
                                        								if(widgetArr[i].deviceId && widgetArr[i].deviceItem != undefined){
                                        									changeLabelPopup(widgetArr[i].deviceId, widgetArr[i].deviceItem, valueSLLCObj[widgetArr[i].dp] )
                                        								}
                                        							},500)
                                        						}
                                        					}
                                        				},100)
                                        			}
                                        		});
                                        	}
                                        });
                                        
                                        function setSubscriptionDPs(arr){
                                        	for(let obj in arr){
                                        		//console.log(arr[dp])
                                        		//let dp = Object.keys(arr[obj])[0]
                                        //		 console.log(dp)
                                        		window.Socket.subscribeState(arr[obj].dp, ({ err, state }) => {
                                        			valueSLLCObj[arr[obj].dp] = state.val;
                                        			if(arr[obj].widgetId && arr[obj].item!= undefined){
                                        				changeLabel(arr[obj].widgetId, arr[obj].item,state.val )
                                        			}
                                        			if(arr[obj].deviceId && arr[obj].deviceItem!= undefined){
                                        				changeLabelPopup(arr[obj].deviceId,arr[obj].deviceItem, state.val)
                                        			}
                                        		});
                                        		
                                        	}
                                        }
                                        
                                        
                                        
                                        function changeLabel(widgetId,item, txt){
                                        	console.log('WidgetId: '+widgetId + ' Item: '+item )
                                        	let doc = document.getElementsByClassName('jarvis-widget-'+widgetId);
                                        	let dpVal;
                                        	console.log('ChangeLabel')
                                        	if(doc.length>0){
                                        		let stateList = doc[0].getElementsByClassName('jarvis-StateList');
                                        		if(stateList.length > 0){
                                        			let slItems = stateList[0].getElementsByClassName('jarvis-StateListItem');
                                        			if(slItems.length >0){
                                        				let slBody = slItems[item].getElementsByClassName('jarvis-StateListItem-Body')
                                        				if(slBody.length > 0){
                                        					console.log('gefunden ')
                                        					let slLabel = slBody[0].getElementsByClassName('q-item__label')
                                        					console.log(slLabel)
                                        					slLabel[0].innerHTML = txt
                                        				}
                                        			}
                                        			
                                        		}
                                        	}
                                        }
                                        
                                        function changeLabelPopup(deviceId, deviceItem, txt){
                                        	console.log('ChangeLabelDevicePopup')
                                        	let doc = document.getElementsByClassName('jarvis-device-'+deviceId);
                                        	if(doc.length >0){
                                        		if(loggingSLLC) console.log('Device gefunden')
                                        		let popup = doc[0].getElementsByClassName('jarvis-popup')
                                        		if(popup.length>0){
                                        			if(loggingSLLC) console.log('Popup gefunden')
                                        			let deviceItems = popup[0].getElementsByClassName('jarvis-StateListItem-Popup')
                                        			if(loggingSLLC) console.log(deviceItems)
                                        			let device = deviceItems[deviceItem]
                                        			if(loggingSLLC) console.log(device)
                                        			let body = device.getElementsByClassName('jarvis-StateListItem-Body')
                                        			if(body.length >0){
                                        				if(loggingSLLC) console.log('Body gefunden')
                                        				let label = body[0].getElementsByClassName('q-item__label')
                                        				label[0].innerHTML = txt
                                        			}
                                        		}
                                        	}
                                        }
                                        
                                        
                                        
                                        
                                        function isConfig(){
                                        	console.log(document.baseURI);
                                        	if (document.baseURI.indexOf('configuration') >=0){
                                        		console.log('Konfig aktiv');
                                        		return true;
                                        		
                                        	}else{
                                        		console.log('Konfig nicht aktiv');
                                        		return false;		
                                        	}
                                        }
                                        
                                        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);
                                            }
                                        }
                                        

                                        00861089-288a-4847-8548-ebbf3203d9aa-image.png

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • U uwe72

                                          @mcu

                                          // ***************************
                                          // stateListLabelChange v1.0.3
                                          // ***************************
                                          // Copyright ©MCU
                                          // v1.0.1 - Korrektur Tabwechsel
                                          // v1.0.2 - für Device-Popup erweitert
                                          // v1.0.3 - Widget oder Device optional, Logging Test
                                          
                                          let widgetArr = [
                                          					{
                                          						dp: '0_userdata.0.DP.dp1',
                                          						deviceId: 'device_HG015',
                                          						deviceItem: 2
                                          					}
                                          				]
                                          
                                          let loggingSLLC = true;
                                          
                                          let valueSLLCObj = {}
                                          
                                          docReady(function() {
                                          	if (isConfig()){
                                          	}else{
                                          		console.log('%cStart stateListLabelChange.js','color:yellow;');
                                          		setTimeout(function(){
                                          			setSubscriptionDPs(widgetArr)
                                          		},100)
                                          		document.addEventListener("click", function (event) {
                                          			if (isConfig()){
                                          			}else{
                                          				console.log('%cKlick stateListLabelChange','color:orange');
                                          				setTimeout(function(){
                                          					
                                          					for(let i=0;i<widgetArr.length;i++){
                                          						if(valueSLLCObj[widgetArr[i].dp]){
                                          							if(widgetArr[i].widgetId && widgetArr[i].item != undefined){
                                          								changeLabel(widgetArr[i].widgetId, widgetArr[i].item, valueSLLCObj[widgetArr[i].dp])
                                          							}
                                          							setTimeout(function(){
                                          								if(widgetArr[i].deviceId && widgetArr[i].deviceItem != undefined){
                                          									changeLabelPopup(widgetArr[i].deviceId, widgetArr[i].deviceItem, valueSLLCObj[widgetArr[i].dp] )
                                          								}
                                          							},500)
                                          						}
                                          					}
                                          				},100)
                                          			}
                                          		});
                                          	}
                                          });
                                          
                                          function setSubscriptionDPs(arr){
                                          	for(let obj in arr){
                                          		//console.log(arr[dp])
                                          		//let dp = Object.keys(arr[obj])[0]
                                          //		 console.log(dp)
                                          		window.Socket.subscribeState(arr[obj].dp, ({ err, state }) => {
                                          			valueSLLCObj[arr[obj].dp] = state.val;
                                          			if(arr[obj].widgetId && arr[obj].item!= undefined){
                                          				changeLabel(arr[obj].widgetId, arr[obj].item,state.val )
                                          			}
                                          			if(arr[obj].deviceId && arr[obj].deviceItem!= undefined){
                                          				changeLabelPopup(arr[obj].deviceId,arr[obj].deviceItem, state.val)
                                          			}
                                          		});
                                          		
                                          	}
                                          }
                                          
                                          
                                          
                                          function changeLabel(widgetId,item, txt){
                                          	console.log('WidgetId: '+widgetId + ' Item: '+item )
                                          	let doc = document.getElementsByClassName('jarvis-widget-'+widgetId);
                                          	let dpVal;
                                          	console.log('ChangeLabel')
                                          	if(doc.length>0){
                                          		let stateList = doc[0].getElementsByClassName('jarvis-StateList');
                                          		if(stateList.length > 0){
                                          			let slItems = stateList[0].getElementsByClassName('jarvis-StateListItem');
                                          			if(slItems.length >0){
                                          				let slBody = slItems[item].getElementsByClassName('jarvis-StateListItem-Body')
                                          				if(slBody.length > 0){
                                          					console.log('gefunden ')
                                          					let slLabel = slBody[0].getElementsByClassName('q-item__label')
                                          					console.log(slLabel)
                                          					slLabel[0].innerHTML = txt
                                          				}
                                          			}
                                          			
                                          		}
                                          	}
                                          }
                                          
                                          function changeLabelPopup(deviceId, deviceItem, txt){
                                          	console.log('ChangeLabelDevicePopup')
                                          	let doc = document.getElementsByClassName('jarvis-device-'+deviceId);
                                          	if(doc.length >0){
                                          		if(loggingSLLC) console.log('Device gefunden')
                                          		let popup = doc[0].getElementsByClassName('jarvis-popup')
                                          		if(popup.length>0){
                                          			if(loggingSLLC) console.log('Popup gefunden')
                                          			let deviceItems = popup[0].getElementsByClassName('jarvis-StateListItem-Popup')
                                          			if(loggingSLLC) console.log(deviceItems)
                                          			let device = deviceItems[deviceItem]
                                          			if(loggingSLLC) console.log(device)
                                          			let body = device.getElementsByClassName('jarvis-StateListItem-Body')
                                          			if(body.length >0){
                                          				if(loggingSLLC) console.log('Body gefunden')
                                          				let label = body[0].getElementsByClassName('q-item__label')
                                          				label[0].innerHTML = txt
                                          			}
                                          		}
                                          	}
                                          }
                                          
                                          
                                          
                                          
                                          function isConfig(){
                                          	console.log(document.baseURI);
                                          	if (document.baseURI.indexOf('configuration') >=0){
                                          		console.log('Konfig aktiv');
                                          		return true;
                                          		
                                          	}else{
                                          		console.log('Konfig nicht aktiv');
                                          		return false;		
                                          	}
                                          }
                                          
                                          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);
                                              }
                                          }
                                          

                                          00861089-288a-4847-8548-ebbf3203d9aa-image.png

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

                                          @uwe72 Du muss Deinen dp eintragen
                                          16ae347d-2a3b-4d09-aad4-1b71e124cbb0-image.png
                                          deviceItem: 1

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

                                          U 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

                                          758

                                          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