NEWS
Script fürTabelle der Batterie Zustände
-
@Homoran bin gespannt :-)
@liv-in-sky :cry:
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="⚠️" -
@liv-in-sky :cry:
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
-
@liv-in-sky :cry:
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 :cry:
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 :joy:
-
@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 :cry:
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
-
@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
@Homoran die homematic ip sache ist aber noch nicht fertig
da müssen noch farben rein und werte, die man definieren kann
-
@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
@Homoran ich würde dann gerne das script von dir nehmen und ein allgemeines daraus machen - wobei man dann oben im setting die adapter auswählen kann, die man hat
-
@Homoran die homematic ip sache ist aber noch nicht fertig
da müssen noch farben rein und werte, die man definieren kann
@liv-in-sky sagte in Script mit Tabelle der Batterie Zustände:
dan müssen noch farben rein und werte, die man definieren kann
Ich müsste jetzt mal Akkus (wegen der Niedrigeren Spannung) reintun und sehen wann die Geräte nicht mehr erreichbar sind.
Leider ist das mit den Geräten an die ich schnell rankomme nicht WAF-freundlich ;-)
Muss dann mal morgen draußen einen Sensor abbauen. -
@Homoran ich würde dann gerne das script von dir nehmen und ein allgemeines daraus machen - wobei man dann oben im setting die adapter auswählen kann, die man hat
@liv-in-sky sagte in Script mit Tabelle der Batterie Zustände:
wobei man dann oben im setting die adapter auswählen kann, die man hat
Danke!
und einen all-in-one Datenpunkt der auf true geht wenn EIN Gerät eine leere Batterie hat?
-
@liv-in-sky sagte in Script mit Tabelle der Batterie Zustände:
dan müssen noch farben rein und werte, die man definieren kann
Ich müsste jetzt mal Akkus (wegen der Niedrigeren Spannung) reintun und sehen wann die Geräte nicht mehr erreichbar sind.
Leider ist das mit den Geräten an die ich schnell rankomme nicht WAF-freundlich ;-)
Muss dann mal morgen draußen einen Sensor abbauen.@Homoran - aber das script kann ich trotzdem vorbereiten - ich nehme dazu dein script - wenn du also etwas ändern willst bei dir, dann sage mir bescheid - damit die versionen nicht durcheinander kommen
der all-in-one datenpunkt kommt dann auf die todo list
-
@Homoran - aber das script kann ich trotzdem vorbereiten - ich nehme dazu dein script - wenn du also etwas ändern willst bei dir, dann sage mir bescheid - damit die versionen nicht durcheinander kommen
der all-in-one datenpunkt kommt dann auf die todo list
@liv-in-sky
Super!Meine Idee war, ähnlich wie bei dem Lüftungsscript, dass man ganz oben die verschiedenen Eingaben macht.
Dazu einen Block, den man kopieren kann/muss , je nachdem wieviele Instanzen man nutzt mit den Variablen für:- Instanz
- Bezeichnung (Teil-ID) des Datenpunktes mit dem Batteriewert
- ggf. die Schaltschwellen für die Farben
Ich habe keine Ahnung ob das umsetzbar ist
-
@liv-in-sky sagte in Script mit Tabelle der Batterie Zustände:
wobei man dann oben im setting die adapter auswählen kann, die man hat
Danke!
und einen all-in-one Datenpunkt der auf true geht wenn EIN Gerät eine leere Batterie hat?
@Homoran wenn du lust hast, probiere das mit der 2ten rpc instanz (zusammenfassen) aus - tradfri.*.batteriePercentage und wenn es funktioniert, poste das script nochmal
-
@Homoran wenn du lust hast, probiere das mit der 2ten rpc instanz (zusammenfassen) aus - tradfri.*.batteriePercentage und wenn es funktioniert, poste das script nochmal
@Homoran sagte in Script mit Tabelle der Batterie Zustände:
hier mit .*.*.batteryPercentage
already done ;-)