NEWS
[gelöst] simples addieren mehrerer Datenpunkte
-
@paul53
So ??? -
-
Dann kommt eine Ausgabe von:
javascript.0 2020-01-02 12:20:50.008 info (865) script.js.Dosierpumpen.Lösung_1.Tagesdosierung_Lösung_1: number
-
@Aphofis sagte:
javascript.0 2020-01-02 12:20:50.008 info (865) script.js.Dosierpumpen.Lösung_1.Tagesdosierung_Lösung_1: number
Bei allen 6 Werten ist die Ausgabe: number ? Dann ist die Wandlung nach Zahl überflüssig und die Berechnung muss stimmen.
-
@paul53
OK! dann nehme ich nach Zahl raus!
nunr bekomme ich jetzt im LOG eine Fehlermeldung:javascript.0 2020-01-02 12:29:20.015 warn (865) at Timer.processTimers (timers.js:223:10) javascript.0 2020-01-02 12:29:20.014 warn (865) at listOnTimeout (timers.js:263:5) javascript.0 2020-01-02 12:29:20.013 warn (865) at tryOnTimeout (timers.js:300:5) javascript.0 2020-01-02 12:29:20.011 warn (865) at ontimeout (timers.js:436:11) javascript.0 2020-01-02 12:29:20.010 warn (865) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7) javascript.0 2020-01-02 12:29:20.009 warn (865) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11 javascript.0 2020-01-02 12:29:20.008 warn (865) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10) javascript.0 2020-01-02 12:29:20.007 warn (865) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1279:34) javascript.0 2020-01-02 12:29:20.005 warn (865) at Object.<anonymous> (script.js.Dosierpumpen.Lösung_1.Tagesdosierung_Lösung_1:9:3) javascript.0 2020-01-02 12:29:20.004 warn (865) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1364:20) javascript.0 2020-01-02 12:29:20.002 warn (865) You are assigning a string to the state "Aqua_Control.0.Triton.Lösung_1.Verbrauch.Tagesdosierung" which expects a number. Please fix your code to use a number or change the state type to string. javascript.0 2020-01-02 12:29:10.027 warn (865) at Timer.processTimers (timers.js:223:10) javascript.0 2020-01-02 12:29:10.024 warn (865) at listOnTimeout (timers.js:263:5) javascript.0 2020-01-02 12:29:10.022 warn (865) at tryOnTimeout (timers.js:300:5) javascript.0 2020-01-02 12:29:10.020 warn (865) at ontimeout (timers.js:436:11) javascript.0 2020-01-02 12:29:10.018 warn (865) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7) javascript.0 2020-01-02 12:29:10.016 warn (865) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11 javascript.0 2020-01-02 12:29:10.014 warn (865) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10) javascript.0 2020-01-02 12:29:10.012 warn (865) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1279:34) javascript.0 2020-01-02 12:29:10.010 warn (865) at Object.<anonymous> (script.js.Dosierpumpen.Lösung_1.Tagesdosierung_Lösung_1:9:3) javascript.0 2020-01-02 12:29:10.007 warn (865) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1364:20) javascript.0 2020-01-02 12:29:10.004 warn (865) You are assigning a string to the state "Aqua_Control.0.Triton.Lösung_1.Verbrauch.Tagesdosierung" which expects a number. Please fix your code to use a number or change the state type to string.
-
@Aphofis sagte:
im LOG eine Fehlermeldung:
Dann ist mind. ein Ursprungswert keine Zahl, sondern ein String. Hast Du alle 6 Werte mit "Typ von" geprüft ?
-
@paul53
in einem Datenpunkt war noch ein Standardwert drin von 3 ml der da nix verloren hat! hab ich raus gelöscht.
Doch die Steuerung rechnet immer noch 822 ml aus.
Alle Datenpunkte geprüft, sind alle als Zahl erstellt und auch nix drin was da nix zu suchen hat.
Bis auf die Datenpunkt Namen ist im RAW auch nix auffällig! Sehen auch alle gleich aus.{ "from": "system.adapter.admin.1", "user": "system.user.admin", "ts": 1567993302050, "common": { "name": "Lösung_1_Faktor_1", "role": "value", "type": "number", "desc": "Manuell erzeugt", "unit": "ml", "read": true, "write": true, "def": false }, "native": {}, "acl": { "object": 1632, "owner": "system.user.admin", "ownerGroup": "system.group.admins", "state": 1632 }, "_id": "Aqua_Control.0.Triton.Lösung_1.Faktoren.Lösung_1_Faktor_1", "type": "state" }
-
@Aphofis sagte in simples addieren mehrerer Datenpunkte:
Sehen auch alle gleich aus.
Das hat nichts zu bedeuten, da man so nicht sieht, ob der Wert als Zahl oder als String enthalten ist. Nur die Prüfung mit "Typ von" zeigt, was tatsächlich enthalten ist. Zur Sicherheit solltes Du auf alle 6 Werte die Wandlung "nach Zahl" ausführen.
-
@paul53
ok i will try -
@paul53
Also das einsetzen bei allen 6 Datenpunkten ergab das erwünschte Ergebnis.!
Vielen Dank