NEWS
Wasserregulierung Aquarium
-
@aphofis Na Du hast doch den durchfluss auch rein bekommen. Warum machst Du es dann nicht mit den anderen genauso?
Du holst EINEN Wert NACH dem ANDEREN in das Nachrichtenobjekt
-
@mickym Hallo, das war nur weil ich in den virtuellen datenpunkt nicht 341.7 eingetragen hatte hatte halt den falschen wert 67 eingetragen das war keine absicht!
-
Hab ich ja aber das ist 100 prozentig falsch und dann bekomme ich gleich auf den deckel
[ { "id": "cdee856ecf99ad2c", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "tag", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Tag", "attrname": "payload", "payloadType": "value", "errOnInvalidState": "nothing", "x": 380, "y": 420, "wires": [ [ "1a1876d6fd414b64" ] ] }, { "id": "8fbb9f181c70628a", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "jahr", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Jahr", "attrname": "payload", "payloadType": "value", "errOnInvalidState": "nothing", "x": 390, "y": 480, "wires": [ [ "1a1876d6fd414b64" ] ] }, { "id": "fea33a2388b19fea", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "gesamt", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Gesamt", "attrname": "payload", "payloadType": "value", "errOnInvalidState": "nothing", "x": 380, "y": 550, "wires": [ [ "1a1876d6fd414b64" ] ] }, { "id": "66eeec1e6f2be7b4", "type": "inject", "z": "e96d40e5c03c8e73", "name": "", "props": [ { "p": "durchl", "v": "", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 170, "y": 360, "wires": [ [ "0fdf123af6451d89", "cdee856ecf99ad2c", "8fbb9f181c70628a", "fea33a2388b19fea" ] ] }, { "id": "071f99aa6aae94c4", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Teste Berechnung", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 830, "y": 360, "wires": [] }, { "id": "1a1876d6fd414b64", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "durchfluss", "pt": "msg", "to": "durchfluss * 5.1", "tot": "jsonata" }, { "t": "set", "p": "jahr", "pt": "msg", "to": "durchfluss / 1000 + jahr", "tot": "jsonata" }, { "t": "set", "p": "gesamt", "pt": "msg", "to": "durchfluss / 1000 + gesamt", "tot": "jsonata" }, { "t": "set", "p": "tag", "pt": "msg", "to": "durchfluss + tag", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 600, "y": 360, "wires": [ [ "071f99aa6aae94c4" ] ] }, { "id": "0fdf123af6451d89", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "durchfluss", "topic": "0_userdata.0.Kaffeemaschine.Counter_Kallibriert", "attrname": "durchfluss", "payloadType": "value", "errOnInvalidState": "nothing", "x": 380, "y": 360, "wires": [ [ "1a1876d6fd414b64" ] ] } ]
Array und Object habe ich ja verstanden aber ich denke mir fehlt das nötige programmier wissen.
Wie man per json zb einen datenpunkt dann abgreift -
@mickym sagte in Wasserregulierung Aquarium:
@aphofis Na Du hast doch den durchfluss auch rein bekommen. Warum machst Du es dann nicht mit den anderen genauso?
Du holst EINEN Wert NACH dem ANDEREN in das Nachrichtenobjekt
-
@mickym
ist es so korrekt !?
-
Nein wenn Du das mit den Nachrichtenobjekten verstanden hättest, dann kann das nicht funktionieren.
Du multiplizierst das Nachrichtenobjekt 4 mal und holst unterschiedliche Werte da rein und leitest sie dann alle wieder in die ChangeNode.
-
Das erste Nachrichtenobjekt holt den Durchfluss. Jahr und Tag, Gesamt sind NICHT definiert.
-
Das zweite Nachrichtenobjekt holt den Tag. Durchfluss, Jahr und Gesamt sind NICHT definiert.
Hier kommt gar nichts raus -
usw.
Die Nachrichten warten nicht aufeinander.
-
-
@aphofis sagte in Wasserregulierung Aquarium:
@mickym
ist es so korrekt !?
Super!!!!!
Der Kandidat hat 1000 Punkte. Solltest Du ja nun selbst erkennen!
Nur woher kommt das KOMISCHE ARRAY in der payload???
-
@mickym Naja ich bin in vielen dingen schnell nur Node-Red muss ich erst kennenlernen.
und da ich Blockly einfach zu kompliziert finde und es mega finde, das ich blockly auch gleich die werte an den nodes angezeigt werden. Ich muss nur erstmal die Struktur verstehen und da man so viele variablen möglichkeiten hat ist node-red ein gigantisches werkzeug. -
@aphofis
Ach ja payload array hab ich raus geschmissen -
@aphofis sagte in Wasserregulierung Aquarium:
Naja ich bin in vielen dingen schnell nur Node-Red muss ich erst kennenlernen.
Ja dann musst Du Dich aber ein bisschen leiten lassen und erst mal die Schritte tun, die ich vorgebe und nicht selbst los probieren. Wenn Du dann sicher bist, kannst alleine loslegen.
So wir sind nun soweit, dass Du in Deinem Nachrichtenobjekt alle korrekten Zahlen hast. Woher kam dieses Array in der payload?
-
Ist es kompliziert einen wert zu runden innerhalt der rechnung fpr durchfluss !? hatte da was gefunden aber ob das richtig ist und ob ich das nehmen kann ka.
$round(number [, precision])
Auf 2 nachkomma stellen wäre mir zwar lieber aber vemurlich komplex
-
@aphofis sagte in Wasserregulierung Aquarium:
Ist es kompliziert einen wert zu runden innerhalt der rechnung fpr durchfluss !? hatte da was gefunden aber ob das richtig ist und ob ich das nehmen kann ka.
$round(number [, precision])
Nein das ist korrekt und ja mit Precision gibst Du ja die Anzahl der Nachkommastellen an. Du kannst also die ganze Berechnungen auf 2 Kommastellen runden indem Du die $round Funktion aussenrum machst.
Du bekommst doch im JSONATA Editor immer ein Beschreibung der Funktion
da steht doch, dass man mit Precision die Anzahl der Nachkommstellen bestimmt.
somit ist dann alles auf 2 Nachkommastellen gerundet:
Auf 2 nachkomma stellen wäre mir zwar lieber aber vemurlich komplex
Ist doch nicht komplex, oder?
-
Wenn Du also mit Deinen Daten im Nachrichtenobjekt zufrieden bist, dann sollten wir die Daten nun wieder in die Datenpunkte zurückschreiben, oder?
-
@mickym ist es so korrekt !?
Ja sollten sie!
-
Ich denke das sieht gut aus
-
@aphofis sagte in Wasserregulierung Aquarium:
@mickym ist es so korrekt !?
Ja sollten sie!
Ja schaut ja aus, wie in meiner Change Node - die ich vorher gepostet habe. Also bleibt mein Frage von vorher.
-
@mickym alter schwede mann mann mann ich hatte die falschen datenpunkte genutzt die sind von der kaffee maschine und nicht die virtuellen moment muss noch die datenpunkte ändern
-
@aphofis sagte in Wasserregulierung Aquarium:
Ich denke das sieht gut aus
Ja denke ich auch, dann solltest Du nun alles wieder zurückschreiben in die Datenpunkte.
Das machst Du mit iobroker-Out Nodes. Wenn Du keine Kommandos zurückschreibst (später wenn Du in Datenpunkte Deines Sonoff Adapter nimmst, musst Du in der iobroker out Node mit ACK=false schreiben = Type Command) dann schreibst Du mit Type Value, das entspricht ACK=true.
-
@mickym
Was soll das denn jetzt wie kommt denn diese ausgabe ich hab nix geändertUngültiger JSONata Ausdruck: The right side of the "+" operator must evaluate to a number
Ich finde keinen Fehler
und weißt du wenn ich einen topic definieren will gibt es neu erstellte datenpunkte nicht auch nicht wenn seite neu laden oder Popupfenster neu laden oder node-red neu starten. -
@aphofis Welche Ausgabe?