NEWS
VIS Werte aus HM-ES-PMSw1-DR Leistungsmesser Addieren
-
@user4711 sagte:
const idSV = getIdByName('hm-rega.0.37476'/*summepower*/');So darf getIdByName(name) nicht verwendet werden. Richtig:
const idSV = 'hm-rega.0.37476'/*summepower*/;@paul53 dasslebe, hie rist die log
javascript.0 2021-05-26 18:55:37.747 error (22410) at processImmediate (internal/timers.js:463:21) javascript.0 2021-05-26 18:55:37.747 error (22410) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1281:17) javascript.0 2021-05-26 18:55:37.747 error (22410) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1791:17 javascript.0 2021-05-26 18:55:37.747 error (22410) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1690:37) javascript.0 2021-05-26 18:55:37.746 error (22410) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1443:28) javascript.0 2021-05-26 18:55:37.745 error (22410) at Object.createScript (vm.js:261:10) javascript.0 2021-05-26 18:55:37.745 error (22410) at new Script (vm.js:88:7) javascript.0 2021-05-26 18:55:37.745 error (22410) SyntaxError: Identifier 'idSV' has already been declared javascript.0 2021-05-26 18:55:37.745 error (22410) ^ javascript.0 2021-05-26 18:55:37.745 error (22410) const idSV = 'hm-rega.0.37476'/*summepower*/; javascript.0 2021-05-26 18:55:37.745 error at script.js.common.Mappe_1.summepower_nach_ccu:4 javascript.0 2021-05-26 18:55:37.745 error (22410) script.js.common.Mappe_1.summepower_nach_ccu compile failed: -
@paul53 dasslebe, hie rist die log
javascript.0 2021-05-26 18:55:37.747 error (22410) at processImmediate (internal/timers.js:463:21) javascript.0 2021-05-26 18:55:37.747 error (22410) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1281:17) javascript.0 2021-05-26 18:55:37.747 error (22410) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1791:17 javascript.0 2021-05-26 18:55:37.747 error (22410) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1690:37) javascript.0 2021-05-26 18:55:37.746 error (22410) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1443:28) javascript.0 2021-05-26 18:55:37.745 error (22410) at Object.createScript (vm.js:261:10) javascript.0 2021-05-26 18:55:37.745 error (22410) at new Script (vm.js:88:7) javascript.0 2021-05-26 18:55:37.745 error (22410) SyntaxError: Identifier 'idSV' has already been declared javascript.0 2021-05-26 18:55:37.745 error (22410) ^ javascript.0 2021-05-26 18:55:37.745 error (22410) const idSV = 'hm-rega.0.37476'/*summepower*/; javascript.0 2021-05-26 18:55:37.745 error at script.js.common.Mappe_1.summepower_nach_ccu:4 javascript.0 2021-05-26 18:55:37.745 error (22410) script.js.common.Mappe_1.summepower_nach_ccu compile failed: -
@paul53 ja error in zeile 4 steht direkt im Menü Scipte unter dem Code Fenster.
und im Menü Log das was ich oben gepostet hatte aber da steht nicht Zeile 4 -
@user4711 sagte: Log das was ich oben gepostet hatte aber da steht nicht Zeile 4
at script.js.common.Mappe_1.summepower_nach_ccu:4Wie sieht das Skript jetzt aus?
-
@paul53 so, wie du letzten gepostet hattest, aber der Fehler ist scheinbar immer in der hier ersten Zeile.
const idSV = 'hm-rega.0.37476'/*summepower*/; log(idSV); on('javascript.0.Power.Summe', function(dp) { setState(idSV, dp.state.val); });@user4711 sagte in VIS Werte aus HM-ES-PMSw1-DR Leistungsmesser Addieren:
so, wie du letzten gepostet hattest, aber der Fehler ist scheinbar immer in der hier ersten Zeile.
warum postest du nicht das ganze Skript?
-
@user4711 sagte in VIS Werte aus HM-ES-PMSw1-DR Leistungsmesser Addieren:
so, wie du letzten gepostet hattest, aber der Fehler ist scheinbar immer in der hier ersten Zeile.
warum postest du nicht das ganze Skript?
-
@homoran das ist das ganze script, es geht ja hier nur darum den JS Wert an eine CCU Systemvariable zu übergeben.
@user4711 sagte in VIS Werte aus HM-ES-PMSw1-DR Leistungsmesser Addieren:
das ist das ganze script
und warum zeigst du uns Zeile 1-3 nicht sondern erst ab Zeile 4?
Oder was willst du uns mit:@user4711 sagte in VIS Werte aus HM-ES-PMSw1-DR Leistungsmesser Addieren:
es kommt immer noch Fehler in Zeile 4 das ist hier Zeile 1
sagen?
-
@homoran Zeile 1-3 sind leerzeilen bei mir
das spript hatte ich im homematic forum gefunden von paul53, und es sah so aus
const idSV = getIdByName('Name_der_SV'); on('idQuelldatenpunkt', function(dp) { // triggert bei Wertänderung des Quelldatenpunktes setState(idSV, dp.state.val); }); -
@user4711 sagte in VIS Werte aus HM-ES-PMSw1-DR Leistungsmesser Addieren:
das ist das ganze script
und warum zeigst du uns Zeile 1-3 nicht sondern erst ab Zeile 4?
Oder was willst du uns mit:@user4711 sagte in VIS Werte aus HM-ES-PMSw1-DR Leistungsmesser Addieren:
es kommt immer noch Fehler in Zeile 4 das ist hier Zeile 1
sagen?
-
So hab es jetz so gelöst :
on({id: 'javascript.0.Power.Summe', change: "ne"}, function (obj) { setState('hm-rega.0.37476', obj.state.val); });hab mal noch eine Frage wie kann ich eine Division ausführen, wollte die Variable javascript.0.Power.SummeTagKwh
:1000 dividierenon({id: 'javascript.0.Power.SummeTagKwh', change: "ne"}, function (obj) { setState('hm-rega.0.37481', obj.state.val); });hab schon versucht
let z = 'javascript.0.Power.SummeTagKwh' / 1000;on({id: z, change: "ne"}, function (obj) { setState('hm-rega.0.37481', obj.state.val); });aber funktioniert nicht
und auch so
on({id: ('javascript.0.Power.SummeTagKwh'/1000), change: "ne"}, function (obj) { setState('hm-rega.0.37481', obj.state.val); }); -
hab mal noch eine Frage wie kann ich eine Division ausführen, wollte die Variable javascript.0.Power.SummeTagKwh
:1000 dividierenon({id: 'javascript.0.Power.SummeTagKwh', change: "ne"}, function (obj) { setState('hm-rega.0.37481', obj.state.val); });hab schon versucht
let z = 'javascript.0.Power.SummeTagKwh' / 1000;on({id: z, change: "ne"}, function (obj) { setState('hm-rega.0.37481', obj.state.val); });aber funktioniert nicht
und auch so
on({id: ('javascript.0.Power.SummeTagKwh'/1000), change: "ne"}, function (obj) { setState('hm-rega.0.37481', obj.state.val); });@user4711 sagte: wollte die Variable javascript.0.Power.SummeTagKwh :1000 dividieren
on({id: 'javascript.0.Power.SummeTagKwh', change: "ne"}, function (obj) { setState('hm-rega.0.37481', obj.state.val / 1000); });Der Name 'javascript.0.Power.SummeTagKwh' ist dann allerdings falsch, wenn von Wh in kWh umgerechnet wird.
-
@user4711 sagte: wollte die Variable javascript.0.Power.SummeTagKwh :1000 dividieren
on({id: 'javascript.0.Power.SummeTagKwh', change: "ne"}, function (obj) { setState('hm-rega.0.37481', obj.state.val / 1000); });Der Name 'javascript.0.Power.SummeTagKwh' ist dann allerdings falsch, wenn von Wh in kWh umgerechnet wird.
-
-
Hab da noch eine Frage, wo kann ich die Variable Summe GesamtZählerstand vom HM-ES-PMSw1-DR finden ? der in der Homematic angzeigt wird ? ich meine nicht den vom Gerät. Der vom Gerät wird immer auf Null gesetzt bei Netzunterbrechung.
@user4711 sagte in VIS Werte aus HM-ES-PMSw1-DR Leistungsmesser Addieren:
ich meine nicht den vom Gerät.
hm-rega
versteckte Systemvariablen anzeigen muss angehakt sein
-
hab jetzt noch einen kleinen Fehler drin die Werte aus der CCU werden zwar eingelesen und addiert, aber der Wert wird nicht ständig aktualisiert.
const idSumme = 'javascript.0.svEnergyCounter.CCU.SummeCCU1'; createState(idSumme, 0, { name: 'Summe aller KWh Zähler werte aus CCU', unit: 'Kwh', type: 'number', def: 0, min: 0 }); summe = getState("hm-rega.0.8617").val + getState("hm-rega.0.18699").val + getState("hm-rega.0.27398").val + getState("hm-rega.0.27836").val + getState("hm-rega.0.33487").val + getState("hm-rega.0.33549").val; setState(idSumme, summe/1000, true); -
hab jetzt noch einen kleinen Fehler drin die Werte aus der CCU werden zwar eingelesen und addiert, aber der Wert wird nicht ständig aktualisiert.
const idSumme = 'javascript.0.svEnergyCounter.CCU.SummeCCU1'; createState(idSumme, 0, { name: 'Summe aller KWh Zähler werte aus CCU', unit: 'Kwh', type: 'number', def: 0, min: 0 }); summe = getState("hm-rega.0.8617").val + getState("hm-rega.0.18699").val + getState("hm-rega.0.27398").val + getState("hm-rega.0.27836").val + getState("hm-rega.0.33487").val + getState("hm-rega.0.33549").val; setState(idSumme, summe/1000, true);
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