NEWS
Script fürTabelle der Batterie Zustände
-
@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 -

-
@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" } -
@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. -
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 -
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
-
@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 :-)
-
@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="⚠️" -
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
-
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="⚠️"der wichtige split ist in zeile 2 - den überschreibst du mit zeile 7 und 8
-
@Homoran die zeile 7 und 8 gehört weg
(4615) script.js.Batterien: TRADFRI remote control 2 tradfri.0.RC-65537.batteryPercentageund
(4615) script.js.Batterien: Stehlampe Arcade tradfri.0.RC-65536.batteryPercentage
-
(4615) script.js.Batterien: TRADFRI remote control 2 tradfri.0.RC-65537.batteryPercentageund
(4615) script.js.Batterien: Stehlampe Arcade tradfri.0.RC-65536.batteryPercentage
@Homoran paßt so oder ?
-
@Homoran paßt so oder ?
@liv-in-sky
Jepp!!DANKE!
jetzt will ich das noch etwas intensiver ansehen um es zu verstehen, dann kommt es auch in den zweiten tradfri Block -
@liv-in-sky
Jepp!!DANKE!
jetzt will ich das noch etwas intensiver ansehen um es zu verstehen, dann kommt es auch in den zweiten tradfri Block@Homoran ich glaube den den zweiten block kannst du streichen, wenn du im ersten block die tradfri.0.*. mit einem * ersetzt
tradfri.*.*.batteryPercentage **oder** tradfri.*.batteryPercentagedann sollten alle tradfri instanzen gefunden werden
-
der wichtige split ist in zeile 2 - den überschreibst du mit zeile 7 und 8
@liv-in-sky sagte in Script mit Tabelle der Batterie Zustände:
der wichtige split ist in zeile 2 - den überschreibst du mit zeile 7 und 8
und genau bin ich vorhin hängen geblieben - war so kurz davor

Passt - Danke!
-
@Homoran ich glaube den den zweiten block kannst du streichen, wenn du im ersten block die tradfri.0.*. mit einem * ersetzt
tradfri.*.*.batteryPercentage **oder** tradfri.*.batteryPercentagedann sollten alle tradfri instanzen gefunden werden
@liv-in-sky sagte in Script mit Tabelle der Batterie Zustände:
ich glaube den den zweiten block kannst du streichen, wenn du im ersten block die tradfri.0.*. mit einem * ersetzt
Das hätte ich gleich getestet

-
@liv-in-sky sagte in Script mit Tabelle der Batterie Zustände:
der wichtige split ist in zeile 2 - den überschreibst du mit zeile 7 und 8
und genau bin ich vorhin hängen geblieben - war so kurz davor

Passt - Danke!
@Homoran poste bitte dein fertiges script nochmal - dann mache ich einen link im ersten post
vorallem auch wegen des hm-rpc
-
Interessante Projekt habt ihr da!
Kann jemand ne aktuelle Version posten? Dann kann ich ggf. auch durch Tests etwas dazu beitragen.@darkiop hast du auch noch irgendwelche instanzen bzw adapter, die wir noch nicht haben?
bis jetzt haben wir
- xiaomi
- dect thermostate fritzbox
- hue
- hue-extended
- homeatic
- ikea tradfri
-
@darkiop hast du auch noch irgendwelche instanzen bzw adapter, die wir noch nicht haben?
bis jetzt haben wir
- xiaomi
- dect thermostate fritzbox
- hue
- hue-extended
- homeatic
- ikea tradfri
@liv-in-sky
Du hast IKEA Tradfri vergessen
hier mit .*.*.batteryPercentage
@liv-in-sky sagte in Script mit Tabelle der Batterie Zustände:
poste bitte dein fertiges script nochmal - dann mache ich einen link im ersten post
ich räume es noch etwas auf - dann poste ich es
feddich!
Hier die aktuelle Version
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
