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.
  • I intruder7

    @mcu
    jetzt ist das Phänomen wieder da. Habs jetzt auch im LOG. Aus irgendeinem Grund bekommt er von InfluxDB keine Antwort, beschießt dann aber InfluxDB solange in sehr kurzen Abständen mit Anfragen bis InfluxDB sagt "ich will nicht mehr"

    2025-02-06 14:02:06.284 - warn: javascript.0 (1946713) script.js.common.Jarvis.eChartsHistoryGetData: {
    dp: 'hm-rpc.2.0010D7XXXXXXB2.1.ACTUAL_TEMPERATURE',
    cnt: null,
    start: 1738674106620,
    end: 1738846906620,
    type: null,
    adapt: 'influxdb.0',
    widgetId: '01e7ebfe-5c53-41c8-b844-2d7f69982da2',
    item: 0,
    timeArea: 2,
    browserIP: '192.168.100.154'
    }
    2025-02-06 14:02:06.285 - warn: javascript.0 (1946713) script.js.common.Jarvis.eChartsHistoryGetData: Timeout -> DP hm-rpc.2.0010D7XXXXXXB2.1.ACTUAL_TEMPERATURE nicht vorhanden in DB: influxdb.0
    2025-02-06 14:02:06.304 - warn: javascript.0 (1946713) script.js.common.Jarvis.eChartsHistoryGetData: {
    dp: 'hm-rpc.2.0010DXXXXXX2B2.1.HUMIDITY',
    cnt: null,
    start: 1738674106629,
    end: 1738846906629,
    type: null,
    adapt: 'influxdb.0',
    widgetId: '7c7401b1-a25b-47fe-9f32-f3e93fade54f',
    item: 0,
    timeArea: 2,
    browserIP: '192.168.100.154'
    }
    2025-02-06 14:02:06.304 - warn: javascript.0 (1946713) script.js.common.Jarvis.eChartsHistoryGetData: Timeout -> DP hm-rpc.2.0010DXXXXXX2B2.1.HUMIDITY nicht vorhanden in DB: influxdb.0
    2025-02-06 14:02:06.309 - warn: javascript.0 (1946713) script.js.common.Jarvis.eChartsHistoryGetData: {
    dp: 'hm-rpc.2.0010DXXXXXX2B2.1.HUMIDITY',
    cnt: null,
    start: 1738674106629,
    end: 1738846906629,
    type: null,
    adapt: 'influxdb.0',
    widgetId: '7c7401b1-a25b-47fe-9f32-f3e93fade54f',
    item: 0,
    timeArea: 2,
    browserIP: '192.168.100.154'
    }
    2025-02-06 14:02:06.310 - warn: javascript.0 (1946713) script.js.common.Jarvis.eChartsHistoryGetData: Timeout -> DP hm-rpc.2.0010DXXXXXX2B2.1.HUMIDITY nicht vorhanden in DB: influxdb.0
    2025-02-06 14:02:06.314 - warn: javascript.0 (1946713) script.js.common.Jarvis.eChartsHistoryGetData: {
    dp: 'hm-rpc.2.0010DXXXXXX2B2.1.HUMIDITY',
    cnt: null,
    start: 1738674106630,
    end: 1738846906630,
    type: null,
    adapt: 'influxdb.0',
    widgetId: '7c7401b1-a25b-47fe-9f32-f3e93fade54f',
    item: 0,
    timeArea: 2,
    browserIP: '192.168.100.154'
    }
    

    hab den LOG nur in den Error Bereich verlagert.

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

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

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

    I 1 Antwort Letzte Antwort
    0
    • 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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          927

                                          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