Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. HowTo: Zusatz-Programme fuer jarvis v3

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    HowTo: Zusatz-Programme fuer jarvis v3

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MCU @uwe72 last edited by 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

      I U 2 Replies Last reply Reply Quote 0
      • I
        intruder7 @MCU last edited by

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

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

          I 1 Reply Last reply Reply Quote 0
          • U
            uwe72 @MCU last edited by

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

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

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

                  @uwe72

                  item :0,
                  deviceItem:1
                  

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

                  Du wllst aber sehr wahrscheinlich im Widget keine Anpassung?

                  U I 2 Replies Last reply Reply Quote 0
                  • U
                    uwe72 @MCU last edited by 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 1 Reply Last reply Reply Quote 0
                    • I
                      intruder7 @MCU last edited by

                      @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 Reply Last reply Reply Quote 0
                      • I
                        intruder7 @MCU last edited by

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

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

                          @uwe72 <br> fehlt aber noch im DP?

                          U 1 Reply Last reply Reply Quote 0
                          • U
                            uwe72 @MCU last edited by

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

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

                              @uwe72 Jetzt mal ins LOG F12 schauen

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

                              U 1 Reply Last reply Reply Quote 0
                              • U
                                uwe72 @MCU last edited by

                                @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 Reply Last reply Reply Quote 0
                                • U
                                  uwe72 @uwe72 last edited by

                                  hab noch nicht alle log-Ausgaben einkommentiert

                                  M 2 Replies Last reply Reply Quote 0
                                  • M
                                    MCU @uwe72 last edited by

                                    @uwe72 Mache gerade neue Version

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

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

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

                                            @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 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            926
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            30
                                            858
                                            153852
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo