NEWS
Pumpenleistung wird nicht errechnet
-
Servus,
ich möchte die Daten meiner Solaranlage erfassen, also Stromverbrauch, Laufzeit Pumpe, Leistungsaufnahme Pumpe, Förderleistung usw.
Diese Werte hab ich mir über einen HM-Zwischenstecker bzw. über die Pumpendaten geholt und mir daraus ein Blockly gebastelt.
Bis zu dieser Zeile funktioniert es, die gewünschten DP werden entsprechend befüllt (habe ich nachgerechnet, die Werte stimmen auch).
Eigentlich soll hier nur folgendes berechnet werden:
Die derzeitige Leistungsaufnahme in W (kommt vom Zwischenstecker, abzüglich des Standbywertes der Anlage) multipliziert mit der Fördermenge je Watt Leistungssteigerung (ja, das ist nur ein Durchschnittwert, die Pumpenkennlinie hab ich noch nicht).Der Datenpunkt bleibt leer, warum?
-
@hausbaer sagte in Pumpenleistung wird nicht errechnet:
Der Datenpunkt bleibt leer, warum?
Frag mal ein log.
Da kommt doch bestimmt eine Meldung -
@homoran Nein, eben nicht, das ist ja das komische.
javascript.0 2021-02-25 16:21:52.688 warn (1159) at processTimers (internal/timers.js:497:7) javascript.0 2021-02-25 16:21:52.688 warn (1159) at listOnTimeout (internal/timers.js:556:17) javascript.0 2021-02-25 16:21:52.688 warn (1159) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1475:29) javascript.0 2021-02-25 16:21:52.688 warn (1159) at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1417:20) javascript.0 2021-02-25 16:21:52.686 warn (1159) You are assigning a string to the state "0_userdata.0.Bad.Bad-Anzeige-groß" which expects a number. Please fix your code to use a number or change the state type to string. This warning might b javascript.0 2021-02-25 16:21:24.949 info (1159) script.js.Solar.Betrieb: registered 2 subscriptions and 2 schedules javascript.0 2021-02-25 16:21:24.942 info (1159) Start javascript script.js.Solar.Betrieb javascript.0 2021-02-25 16:21:23.095 info (1159) Stop script script.js.Solar.Betrieb javascript.0 2021-02-25 16:21:21.463 info (1159) script.js.Solar.Betrieb: registered 2 subscriptions and 2 schedules javascript.0 2021-02-25 16:21:21.454 info (1159) Start javascript script.js.Solar.Betrieb javascript.0 2021-02-25 16:21:21.434 info (1159) Stop script script.js.Solar.Betrieb javascript.0 2021-02-25 16:21:20.220 info (1159) script.js.Solar.Betrieb: registered 2 subscriptions and 2 schedules javascript.0 2021-02-25 16:21:20.199 info (1159) Start javascript script.js.Solar.Betrieb javascript.0 2021-02-25 16:21:20.165 info (1159) Stop script script.js.Solar.Betrieb
-
@hausbaer sagte in Pumpenleistung wird nicht errechnet:
You are assigning a string to the state "0_userdata.0.Bad.Bad-Anzeige-groß" which expects a number.
Leider habe ich nur diese eine Zeile, da sind nur Variablen, kein schreiben/aktualisiern in einen Datenpunkt.
Hast du die Variable vorher als Zahl deklariert?
Was haben alle drei Variablen für einen Typ? -
Guten Morgen,
ich musste erstmal abwarten, bis die Anlage wieder läuft (Sonnenschein!).
Um die Frage zu beanworten: Ja, die Variablen sind vorher definiert. Die Variablen haben den Typ Zahl.
Ich habe die Variablen anders benannt, weil ich befürchtet habe, dass die Sonderzeichen evtl. das Problem sein könnte.
Dann habe ich im Betrieb überprüft, ob der Wert, den mein HM -Zwischenstecker liefert
identisch ist mit dem Wert, den iobroker erfasst und anzeigt (hier ein Wert, zeitversetzt in der VIS):
Das passt auch.
Auch die DP habe ich nochmal überarbeit / neu benannt und natürlich im Script entsprechend neu zugewiesen.
Dabei ist mir aufgefallen, dass schon der DP "aktuelle-Leistungsaufnahme-Pumpe-W" nicht befüllt wird.
Das ist im Blockly folgende Zeile / Rechnung:
Eine einfache Subraktion, aber die funktioniert nicht??
Edit:
Das Log liefert leider keinen Eintrag -
@hausbaer sagte in Pumpenleistung wird nicht errechnet:
Eine einfache Subraktion, aber die funktioniert nicht??
Leider ist dein Blockly unvollständig
Worauf triggerst du?
Ist die Bedingung des Logik-falls erfüllt?In solchen Fällen kann man mit einem sinnvollen debugbaustein prüfen ob diese einfache Subtraktion überhaupt angestoßen wird
EDIT:
Wieso sind die Werte bei dir in gelb/orange??Das kenne ich gar nicht. Ich kenne nur grün - schwarz - rot
Edit2:
muss am neuen controller liegen, in meiner Testumgebung habe ich das jetzt aucgh -
@hausbaer
"0_userdata.0.Bad.Bad-Anzeige-groß"
Die Meldung kommt doch vermutlich von einem anderen Script (leider fehlen im log die Zeilen im Backtrace).
Sollte man nicht diese Script korrigieren/abstellen?
Ansonsten, was Homoran gesagt hat, Debug-Ausgaben sind hilfreich -
Mir ist gerade aufgefallen, dass im Blockly oben links im Script "Instanz deaktiviert" steht, obwohl Javascript unter den Instanzen grün ist.
Installiert ist 4.11.0. Ich werd mal auf 4.10.15 downgraden und schauen, was passiert.
-
@ente34 sagte in Pumpenleistung wird nicht errechnet:
@hausbaer
Sollte man nicht diese Script korrigieren/abstellen?Da hast du vermutlich recht. Diese Meldung ist aber - nach dem o.g. downgrade - nicht mehr vorhanden.
Ansonsten, was Homoran gesagt hat, Debug-Ausgaben sind hilfreich
Auch da: Du / ihr habt recht. Ich werde diese nachliefern, wenn Sonnenstunden sind und die Anlage läuft - und das Script immer noch nicht arbeitet.
-
Heute genug Sonne gehabt.
Ich habe das Script nochmal neu aufgebaut, Schritt für Schritt. Ich bekomme jetzt zumindest eine Pumpenleistung in Watt geliefert, weiß aber immer noch nicht, woran es lag. Werde morgen mal vergleichen und bescheid geben.