NEWS
Script fürTabelle der Batterie Zustände
- 
					
					
					
					
 @Homoran der hat keinen "verarbeitungswürdigen namen" - da bleibt nur "RC-65537" - aber das wird auch nicht reichen - oder ist es dass, was du suchst 
- 
					
					
					
					
 @Homoran müßte der sein  
- 
					
					
					
					
 @liv-in-sky 
 Seltsam: Da muss ich mal @AlCalzone an den Hammelbeinen packen. Ich hatte versucht den common.name davon zu erhalten @liv-in-sky sagte in Script mit Tabelle der Batterie Zustände: da bleibt nur "RC-65537" 
- 
					
					
					
					
 @liv-in-sky sagte in Script mit Tabelle der Batterie Zustände: müßte der sein Dachte ich auch, aber da kommt undefined 
- 
					
					
					
					
 @Homoran ich denke 
- 
					
					
					
					
 @Homoran zeile 176 auskommentieren - der name ist der stern in tradfri.0.*.batteryPercentage split ist: 
 tradfri
 0
 *
 batteryPercentagedaher ida[2] der split wird in zeile 171 schon gemacht 
- 
					
					
					
					
 @liv-in-sky Ja! aber ich wollte den common Name vom device bekommen - kann den Teil vorher im Skript nicht ganz nachvollziehen und umwandeln, dass er den ausliest. 
- 
					
					
					
					
 @Homoran aber der common name ist bei allen gleich - aus dem raw "name": "Battery percentage", der einzige unterschied ist wohl was sich hinter dem stern verbirgt - denke ich 
- 
					
					
					
					
 @liv-in-sky sagte in Script mit Tabelle der Batterie Zustände: was sich hinter dem stern verbirgt - denke ich Ja! 
 liest das Skript beim Iterieren diesen Wert nicht aus, dass man davon den common.name auslesen kann
- 
					
					
					
					
 @Homoran doch - aber der common name ist percentage batterie - und das ist ja kein name, der in der tabelle weiterhilft wenn aber eine ebene höher noch irgendwo ein name steht - dann müssen wir uns den holen - mach doch mal einen JSON export der ikea instanz - und poste es -  
- 
					
					
					
					
 @liv-in-sky sagte in Script mit Tabelle der Batterie Zustände: eine ebene höher noch irgendwo ein name steht - dann müssen wir uns den holen Das meinte ich - habe ich wieder zu verschwurbelt geschrieben? { "from": "system.adapter.tradfri.1", "user": "system.user.admin", "ts": 1574188716996, "common": { "name": "TRADFRI remote control", "icon": "icons/remote.png" }, "native": { "manufacturer": "IKEA of Sweden", "firmwareVersion": "2.3.014", "modelNumber": "TRADFRI remote control", "type": "remote", "serialNumber": "", "instanceId": 65549 }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "_id": "tradfri.1.RC-65549", "type": "device" }
- 
					
					
					
					
 @Homoran ok verstehe - ... einen moment 
- 
					
					
					
					
 Interessante Projekt habt ihr da! 
 Kann jemand ne aktuelle Version posten? Dann kann ich ggf. auch durch Tests etwas dazu beitragen.
- 
					
					
					
					
 Hallo @darkiop Hier 
 https://forum.iobroker.net/topic/28789/script-mit-tabelle-der-batterie-zustände/83
 im Spoiler
- 
					
					
					
					
 
- 
					
					
					
					
 @liv-in-sky sagte in Script mit Tabelle der Batterie Zustände: val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]).common.name ; ich werde es versuchen, aber wie gesagt brachte ida[2] immer undefined 
- 
					
					
					
					
 @Homoran bin gespannt  
- 
					
					
					
					
 2020-01-11 18:54:40.716 - warn: javascript.0 (4615) Object "Battery percentage.undefined.undefined" does not exist 2020-01-11 18:54:40.717 - error: javascript.0 (4615) script.js.Batterien: script.js.Batterien:179 2020-01-11 18:54:40.718 - error: javascript.0 (4615) val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]).common.name ; 2020-01-11 18:54:40.718 - error: javascript.0 (4615) ^ 2020-01-11 18:54:40.719 - error: javascript.0 (4615) TypeError: Cannot read property 'common' of null 2020-01-11 18:54:40.719 - error: javascript.0 (4615) at script.js.Batterien:179:56 2020-01-11 18:54:40.719 - error: javascript.0 (4615) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:846:29) 2020-01-11 18:54:40.719 - error: javascript.0 (4615) at writeHTML (script.js.Batterien:170:36) 2020-01-11 18:54:40.720 - error: javascript.0 (4615) at script.js.Batterien:365:1 2020-01-11 18:54:40.720 - error: javascript.0 (4615) at Script.runInContext (vm.js:133:20)code: $('tradfri.0.*.batteryPercentage').each(function(id, i) { // hier eigene schleife definieren und den wert counter++ nicht vergessen !!! var ida = id.split('.'); counter++; // SEHR WICHTIG - MUSS IN JEDER SCHLEIFE INTEGRIERT SEIN val0=getObject(id).common.name ; //ida[2]+"."+ida[3]; var ida = val0.split('.'); //val0=ida[0]; val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]).common.name ; log(val0+" "+id); val1help=getState(id).val; val1help=parseFloat((getState(id).val)); if (val1help<=battAlarm) {val1=(" <font color=\"red\"> ")+val1help.toString()} else{val1=(" <font color=\"green\"> ")+val1help.toString()} if (val1help>battAlarm && val1help<=battAlarmWarning) {val1=(" <font color=\"yellow\"> ")+val1help.toString()} if (getState(id).val==null) {val2="never used"}; //log(id)}; if (val1help<=battAlarm) {val2="✘"} else{val2="✔"} if (val1help>battAlarm && val1help<=battAlarmWarning) val2="⚠️"
- 
					
					
					
					
 @Homoran die zeile 7 und 8 gehört weg 
- 
					
					
					
					
 der wichtige split ist in zeile 2 - den überschreibst du mit zeile 7 und 8 
 
		
	 
		
	 
			
		 
			
		
