NEWS
Selbst erstellter Datenpunkt, Problem <0 [gelöst]
-
@hardl sagte in Selbst erstellter Datenpunkt, Problem <0:
Komischerweise kommt in den Protokollen das Komma nur bei glatten Werten mit ",0", bei ,1-9 wird ein Punkt dargestellt.
wenn ich es richtig entziffern kann ist das Komma kein Dezimaltrenner, sondern als Abschluss aller Werte vorhanden
-
@homoran sorry,
javascript.0 2023-01-20 11:31:36.766 warn at processImmediate (node:internal/timers:466:21) javascript.0 2023-01-20 11:31:36.765 warn at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5916:56) javascript.0 2023-01-20 11:31:36.765 warn at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29) javascript.0 2023-01-20 11:31:36.765 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38) javascript.0 2023-01-20 11:31:36.765 warn at Object.<anonymous> (script.js.Poolsteuerung.Debug_Diff:6:3) javascript.0 2023-01-20 11:31:36.765 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20) javascript.0 2023-01-20 11:31:36.764 warn State "Object ID" not found javascript.0 2023-01-20 11:31:36.764 info script.js.Poolsteuerung.Debug_Diff: getState(id=mqtt.0.ESP_Easy.Solarsensor.temperature, timerId=undefined) => {"val":20.6,"ack":true,"ts":1674210696758,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1674210696758} javascript.0 2023-01-20 11:31:36.763 info script.js.Poolsteuerung.Debug_Diff: number javascript.0 2023-01-20 11:31:36.763 info script.js.Poolsteuerung.Debug_Diff: getState(id=mqtt.0.ESP_Easy.Poolsensor.temperature, timerId=undefined) => {"val":21.1,"ack":true,"ts":1674210695846,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1674210472569} javascript.0 2023-01-20 11:31:36.763 info script.js.Poolsteuerung.Debug_Diff: number
-
-
@codierknecht Nein, das Script ist neu und nichts dahinter.
Alle DP habe ich nochmals geprüft. -
@hardl sagte in Selbst erstellter Datenpunkt, Problem <0:
@codierknecht Nein, das Script ist neu und nichts dahinter.
Alle DP habe ich nochmals geprüft.nein!
bei aktualisiere fehlt die zu aktualisierende DP ID -
@hardl sagte in Selbst erstellter Datenpunkt, Problem <0:
@codierknecht Nein, das Script ist neu und nichts dahinter.
Alle DP habe ich nochmals geprüft.Schau doch mal in den JS-Code, wo da ein "Object ID" versteckt ist.
Das muss ja irgendwoher kommen. -
@homoran Inzwischen habe ich gesehen, dass bei glatt 21 keine Punkte oder Kommas dargestellt werden.
Du hast natürlich Recht......
Ich habe das Object mit Ist-Diff ersetzt und der Fehler ist weg. -
@hardl sagte in Selbst erstellter Datenpunkt, Problem <0:
Ich habe das Object mit Ist-Diff ersetzt und der Fehler ist weg.
heisst?
zeigen!
-
admin.0 2023-01-20 12:05:00.946 info <== Disconnect system.user.admin from ::ffff:192.168.178.22 javascript admin.0 2023-01-20 12:05:00.946 info <== Disconnect system.user.admin from ::ffff:192.168.178.22 javascript javascript.0 2023-01-20 12:04:56.994 info script.js.Poolsteuerung.Debug_Diff: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2023-01-20 12:04:56.994 info script.js.Poolsteuerung.Debug_Diff: subscribe: {"pattern":{"id":"mqtt.0.ESP_Easy.Solarsensor.temperature","change":"ne","q":0},"name":"script.js.Poolsteuerung.Debug_Diff"} javascript.0 2023-01-20 12:04:56.988 info Start javascript script.js.Poolsteuerung.Debug_Diff
Ich werde jetzt mal sehen, wie ich einen Debug Block in das normale Script einfüge, um zu sehen was passiert, wenn die Differenz <0 ist.
-
@hardl zeig doch bitte das jetzige Script
-
-
@hardl
Keine Trigger innerhalb von Triggern anordnen!
Vorschlag: -
@paul53 @Homoran @Codierknecht, Ich habe jetzt einfach die inneren Trigger und auch die später eingefügte Zeile, damit unter 0 nicht gerechnet wird, entfernt.
Es sieht so aus, als ob damit auch mein Problem erledigt ist.
Der Datenpunkt nimmt jetzt problemlos negative und positive Zahlen auf.Ich danke Euch für die super gute und schnelle Hilfe und habe dabei auch Grundlagen des Debuggen gelernt.
Sollte noch etwas auftauchen, melde ich mich.
-
@hardl sagte: die inneren Trigger und auch die später eingefügte Zeile, damit unter 0 nicht gerechnet wird, entfernt.
Du liest aber nicht den Datenpunkt "Ist-Diff" gleich wieder ein, nachdem er geschrieben wurde? Das funktioniert wegen der asynchronen Ausführung von "steuere" nicht. Deshalb verwendet man Variablen.
-
@paul53 sagte in Selbst erstellter Datenpunkt, Problem <0:
Datenpunkt
Deinen Vorschlag habe ich nun umgesetzt und es läuft einwandfrei.
Bisher hatte ich noch nicht mit Variablen in Blockly gearbeitet sondern immer in Datenpunkte geschrieben.
Das Argument kann ich auch nachvollziehen und werde meine wenigen Skripte entsprechend überarbeiten. -
@hardl sagte: es läuft einwandfrei.
Dann markiere bitte das Thema in der Überschrift des ersten Beitrags als [gelöst].
-
@paul53 Ich bräuchte da noch eine Ergänzung. Wie Du geschrieben hast, sollte kein Trigger innerhalb von Triggern vorkommen.
Ich möchte noch einen Schalter integrieren, der meiner Poolsteuerung vorgelagert ist und bei 0 die Routine ausführt, bei 1 aber die Pumpe auf Dauer schaltet. -
@hardl sagte in Selbst erstellter Datenpunkt, Problem <0 [gelöst]:
Ich möchte noch einen Schalter integrieren, der meiner Poolsteuerung vorgelagert ist und bei 0 die Routine ausführt, bei 1 aber die Pumpe auf Dauer schaltet.
dann nimm einen Logikblock falls und prüfe den State.
je nach Zustand führst du aus was du willst.Aber ich denke du sagst nicht alles was du wirklich erwartest.
-
@hardl sagte: bei 0 die Routine ausführt, bei 1 aber die Pumpe auf Dauer schaltet.
Die Pumpe bei 1 einschalten und den Modus im Solartemperatur-Trigger auf 0 prüfen.
Den Rest innerhalb des mache-Zweiges ausführen.
-
@homoran sagte in Selbst erstellter Datenpunkt, Problem <0 [gelöst]:
Aber ich denke du sagst nicht alles was du wirklich erwartest.
Was meinst du damit?
Ich bin sehr zufrieden wie das in der Simulation funktioniert. Die Hardware ist auf dem Steckbrett auch nahezu einsatzbereit.
Eventuell könnte ich noch einen Pumpe-Dauer-Aus Schalter hinzufügen.@paul53: Ich habe nur 0 und 1 beim Switch und den Trigger gedreht zum besseren Verständnis.