- Home
- Deutsch
- Skripten / Logik
- Node-Red
- Node-Red Node warte x bis rechnung
Node-Red Node warte x bis rechnung
-
@geschild
Ne dachte auch nicht aber dann weisst du das es nicht ganz banal ist eine Kaffeemaschine zu messen. -
@aphofis Noch mehr Fragen: Der Schwimmerschalter schaltet im nodered direkt das Magnetventil. Wenn der Tankfüllstand im Bereich MInimum ist, schaltet der Schwimmerschalter bei jedem Schluck der Kaffeemaschine etwas hin und her, bis er stabil true sendet. Richtig? Das Magnetventl klappert dann etwas? Hat der Schwimmerschalter eine Hysterese, also, dass das Wasser im Tank sichtbar steigen muss, bis er wieder stabil false zeigt?
-
@aphofis Hier mal ein erster Vorschlag: Schwimmer entprellen.json
Die beiden Inject simulieren den Schwimmerschalter.
Simulation Tank wird leer:
Inject true-false-true-false-true führt 2sek nach dem letzten 'true' zu einem 'true' am [Debug-Magnetschalter ein}.Simulation Tank wird voll:
Inject false-true-false-true-false führt 2sek nach dem letzten 'false zu einem 'false' am [Debug-Magnetschalter aus]
und zu einem 'true' am [Debug-Counter lesen]
Man könnte den [Debug-Counter lesen] auch noch etwas verzögern, damit beim Lesen der Magnetschalter sicher geschlossen hat. -
@geschild
Ne es ist schon ein true signal da und dann auch false. nur halt ich sag mal innerhalb 500 ms wird true false geschaltet.
Der Schwimmer ist halt sehr genau.
Kannst du deinen letzten Post auch noch mal für nicht konforme Programmierer erklären !?Kann man es nicht einfach so umstellen, das wenn schwimmer true dann warte 3 min dann rechne aus und schreibe in die datenpunkte setze durchfluss auf null und schicke http get an das tasmota um den counter zu resetten !?
-
@aphofis Hier mal das ganze in deinen flow eingebunden: Kaffemaschine neu.json
-
Ich guck mir das mal an.
Mal sehen ob ich das verstehe.
Vielen Dank schon mal
Dann mache ich mir doch mal einen Kaffee!!!
Also man sieht das die Steuerung arbeitet und die Delays anspringen aber es wird nichts in die Datenpunkte geschrieben & Tasmota Counter wird nicht zurück gesetzt.Wo holt sich denn die Steuerung denn den Wert von dem Counter
sonoff.0.GordonX-Home-Kaffeemaschine.SENSOR.COUNTER.C1
und rechnet den um und schreibt den in
0_userdata.0.Kaffeemaschine.Wasser_Durchfluss
Nach der ganzen Wartezeit, muss der Durchfluss doch erstmal den wert vom Counter bekommen ich glaub das fehlt da irgenwie.
-
Ich glaube im ersten durchfluss muss nicht der Datenpunkt durchfluss rein
da muss glaube ich der counter rein und in der ersten rechnung wird ja der durchfluss mit dem counter wert errechnet also von puls in ml umgerechnet.Also schnell austrinken und dann noch einen Kaffe hinterher produzieren.
Jetzt wurde der durchfluss wert mit dem counter errechnet. vermutlich weil auf true false geprüft wird nur jetzt ist die frage wo wird dann nach der wartezeit der datenpunkt durchfluss resettet auf 0 !?
Die Werte sehen gut aus und kommt mit der Kaffee Menge auch hin.
Werde Sonntag das Magnet ventil noch mal kalibrieren. -
So scheint es jetzt zu laufen !? Teste ich morgen noch mal genauer. Ob die delays ok sind weil die maschine beim einschalten ja schon den counter füllt. ab da laufen die delays ja schon also muss so lange laufen bis alles erledigt ist und man dann natürlich auf den zweiten Kaffe warten muss.
[ { "id": "57f47df45469191a", "type": "tab", "label": "Wasertank Kaffe Neu", "disabled": false, "info": "", "env": [] }, { "id": "6b79e98a03c7d558", "type": "junction", "z": "57f47df45469191a", "x": 430, "y": 40, "wires": [ [ "2abe9b4e2b8bd59f", "1c8289437f02d28d" ] ] }, { "id": "60f2c9666867f1f5", "type": "junction", "z": "57f47df45469191a", "x": 430, "y": 140, "wires": [ [ "34cdcca2b8430dbe", "513f1580376329e8" ] ] }, { "id": "542411bf741f2b08", "type": "junction", "z": "57f47df45469191a", "x": 940, "y": 380, "wires": [ [ "f6b34918e00ee539" ] ] }, { "id": "13649107c9018426", "type": "ioBroker get", "z": "57f47df45469191a", "name": "jahr", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Jahr", "attrname": "jahr", "payloadType": "value", "errOnInvalidState": "nothing", "x": 245, "y": 700, "wires": [ [ "e9153c66d116c53b" ] ], "l": false }, { "id": "e9153c66d116c53b", "type": "ioBroker get", "z": "57f47df45469191a", "name": "gesamt", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Gesamt", "attrname": "gesamt", "payloadType": "value", "errOnInvalidState": "nothing", "x": 335, "y": 700, "wires": [ [ "ca70e8a2d1e42876" ] ], "l": false }, { "id": "cbbafc18c7a28016", "type": "debug", "z": "57f47df45469191a", "name": "Ausgabe Rechnung", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 850, "y": 840, "wires": [] }, { "id": "44b5924ef3efb629", "type": "change", "z": "57f47df45469191a", "name": "rechnung", "rules": [ { "t": "set", "p": "durchfluss", "pt": "msg", "to": "$round(durchfluss / 2.207,2)", "tot": "jsonata" }, { "t": "set", "p": "jahr", "pt": "msg", "to": "$round(durchfluss / 1000 + jahr,2)", "tot": "jsonata" }, { "t": "set", "p": "gesamt", "pt": "msg", "to": "$round(durchfluss / 1000 + gesamt,2)", "tot": "jsonata" }, { "t": "set", "p": "tag", "pt": "msg", "to": "$round(durchfluss + tag,2)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 600, "y": 700, "wires": [ [ "3cadfd8c1dbfa20b", "5e2dc84502fe15bc", "9dd3ce02d730f224", "f789b44727c86701", "cbbafc18c7a28016" ] ] }, { "id": "65e798b0af11b036", "type": "ioBroker get", "z": "57f47df45469191a", "name": "count", "topic": "sonoff.0.GordonX-Home-Kaffeemaschine.SENSOR.COUNTER.C1", "attrname": "durchfluss", "payloadType": "value", "errOnInvalidState": "nothing", "x": 65, "y": 700, "wires": [ [ "7fe41aeac2afc960" ] ], "l": false }, { "id": "2f31af30b00a2e0d", "type": "ioBroker out", "z": "57f47df45469191a", "name": "durchfl.", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Durchfluss", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1060, "y": 600, "wires": [] }, { "id": "1e60f0c6483fb618", "type": "ioBroker out", "z": "57f47df45469191a", "name": "tag", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Tag", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1050, "y": 660, "wires": [] }, { "id": "b3ba72380c43f293", "type": "ioBroker out", "z": "57f47df45469191a", "name": "jahr", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Jahr", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1050, "y": 720, "wires": [] }, { "id": "12a33a4a325f5704", "type": "ioBroker out", "z": "57f47df45469191a", "name": "gesamt", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Gesamt", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1060, "y": 780, "wires": [] }, { "id": "7fe41aeac2afc960", "type": "ioBroker get", "z": "57f47df45469191a", "name": "tag", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Tag", "attrname": "tag", "payloadType": "value", "errOnInvalidState": "nothing", "x": 155, "y": 700, "wires": [ [ "13649107c9018426" ] ], "l": false }, { "id": "5e2dc84502fe15bc", "type": "change", "z": "57f47df45469191a", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "durchfluss", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 600, "wires": [ [ "2f31af30b00a2e0d" ] ] }, { "id": "9dd3ce02d730f224", "type": "change", "z": "57f47df45469191a", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "tag", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 660, "wires": [ [ "1e60f0c6483fb618" ] ] }, { "id": "f789b44727c86701", "type": "change", "z": "57f47df45469191a", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "jahr", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 720, "wires": [ [ "b3ba72380c43f293" ] ] }, { "id": "3cadfd8c1dbfa20b", "type": "change", "z": "57f47df45469191a", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "gesamt", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 780, "wires": [ [ "12a33a4a325f5704" ] ] }, { "id": "f6b34918e00ee539", "type": "ioBroker out", "z": "57f47df45469191a", "name": "Magnetventil", "topic": "sonoff.0.GordonX-Home-Kaffeemaschine.POWER2", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1170, "y": 380, "wires": [] }, { "id": "a7aee810793358d4", "type": "ioBroker in", "z": "57f47df45469191a", "name": "Schwimmer", "attrname": "payload", "topic": "sonoff.0.GordonX-Home-Kaffeemaschine.POWER1", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 110, "y": 440, "wires": [ [ "f60ac0ca806c32a9", "bd9e4c4480c0d54e", "f80b36ef40dba067" ] ] }, { "id": "1c8289437f02d28d", "type": "debug", "z": "57f47df45469191a", "name": "Tag Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 520, "y": 20, "wires": [] }, { "id": "2abe9b4e2b8bd59f", "type": "ioBroker out", "z": "57f47df45469191a", "name": "tag", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Tag", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 510, "y": 60, "wires": [] }, { "id": "204ce8ed94afc854", "type": "http request", "z": "57f47df45469191a", "name": "Senden", "method": "GET", "ret": "txt", "paytoqs": "ignore", "url": "http://192.168.0.96/cm?user=user&password=password&cmnd=counter1%200", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 1120, "y": 240, "wires": [ [ "fc91906f018dd65d" ] ] }, { "id": "df44712c5b90825f", "type": "change", "z": "57f47df45469191a", "name": "Aqua Counter Reset", "rules": [ { "t": "set", "p": "url", "pt": "msg", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 760, "y": 240, "wires": [ [ "e47538d2c25a955b" ] ] }, { "id": "fc91906f018dd65d", "type": "debug", "z": "57f47df45469191a", "name": "Ausgabe Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1280, "y": 240, "wires": [] }, { "id": "c2a42c63f9bd1067", "type": "delay", "z": "57f47df45469191a", "name": "warte 60sek", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 570, "y": 240, "wires": [ [ "df44712c5b90825f" ] ] }, { "id": "513f1580376329e8", "type": "debug", "z": "57f47df45469191a", "name": "Jahr Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 530, "y": 120, "wires": [] }, { "id": "34cdcca2b8430dbe", "type": "ioBroker out", "z": "57f47df45469191a", "name": "Jahr", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Jahr", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 510, "y": 160, "wires": [] }, { "id": "9eb9d437d9e6e723", "type": "change", "z": "57f47df45469191a", "name": "Tag Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 320, "y": 40, "wires": [ [ "6b79e98a03c7d558" ] ] }, { "id": "40f2e95147eee6e4", "type": "change", "z": "57f47df45469191a", "name": "Jahr Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 330, "y": 140, "wires": [ [ "60f2c9666867f1f5" ] ] }, { "id": "4bc79cd25cf2de2c", "type": "inject", "z": "57f47df45469191a", "name": "Counter Reset Manuell", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 320, "y": 240, "wires": [ [ "c2a42c63f9bd1067" ] ] }, { "id": "ca70e8a2d1e42876", "type": "delay", "z": "57f47df45469191a", "name": "warte 30sek", "pauseType": "delay", "timeout": "30", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 450, "y": 700, "wires": [ [ "44b5924ef3efb629" ] ] }, { "id": "e47538d2c25a955b", "type": "delay", "z": "57f47df45469191a", "name": "warte 70sek", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 950, "y": 240, "wires": [ [ "204ce8ed94afc854" ] ] }, { "id": "42e9bb25fbc436e5", "type": "cronplus", "z": "57f47df45469191a", "name": "Aqua Tag Reset", "outputField": "payload", "timeZone": "", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "Zeitplan", "topic": "Counter Aqua Reset", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 0 * * ? *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise,sunset" } ], "x": 120, "y": 40, "wires": [ [ "9eb9d437d9e6e723" ] ] }, { "id": "16bbc7cef0219d28", "type": "cronplus", "z": "57f47df45469191a", "name": "Aqua Jahr Reset", "outputField": "payload", "timeZone": "", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "Zeitplan", "topic": "Counter Aqua Reset", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 0 31 12 ? *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise,sunset" } ], "x": 130, "y": 140, "wires": [ [ "40f2e95147eee6e4" ] ] }, { "id": "9ea6bd731fca5dc3", "type": "trigger", "z": "57f47df45469191a", "name": "Triggger nach 2sek stabil true", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "2000", "extend": false, "overrideDelay": false, "units": "ms", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 630, "y": 420, "wires": [ [], [ "88bc1672bac70da9", "542411bf741f2b08" ] ] }, { "id": "88bc1672bac70da9", "type": "debug", "z": "57f47df45469191a", "name": "Magnetschalter ein", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 910, "y": 340, "wires": [] }, { "id": "f60ac0ca806c32a9", "type": "function", "z": "57f47df45469191a", "name": "true->Start-false->Reset Trigger", "func": "let news = msg.payload;\n\nif(news == true){\n msg.payload = true;\n return msg;\n}\nif(news == false){\n msg.reset = true;\n return msg;\n}\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 350, "y": 420, "wires": [ [ "9ea6bd731fca5dc3" ] ] }, { "id": "5f9ad613d80393e6", "type": "trigger", "z": "57f47df45469191a", "name": "Trigger nach 2sek stabli false", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "2000", "extend": false, "overrideDelay": false, "units": "ms", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 620, "y": 480, "wires": [ [], [ "120a6dd3771ba5a4", "46e8b52eb69c4015" ] ] }, { "id": "b17cb1d4b5701144", "type": "debug", "z": "57f47df45469191a", "name": "Counter lesen", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1180, "y": 480, "wires": [] }, { "id": "bd9e4c4480c0d54e", "type": "function", "z": "57f47df45469191a", "name": "false->Start-true->Reset Trigger", "func": "let news = msg.payload;\n\nif(news == false){\n msg.payload = true;\n return msg;\n}\nif(news == true){\n msg.reset = true;\n return msg;\n}\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 350, "y": 480, "wires": [ [ "5f9ad613d80393e6" ] ] }, { "id": "120a6dd3771ba5a4", "type": "change", "z": "57f47df45469191a", "name": "true -> false", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 970, "y": 440, "wires": [ [ "66ebfbae27154f3d", "f6b34918e00ee539" ] ] }, { "id": "66ebfbae27154f3d", "type": "debug", "z": "57f47df45469191a", "name": "Magnetschalter aus", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1190, "y": 440, "wires": [] }, { "id": "46e8b52eb69c4015", "type": "delay", "z": "57f47df45469191a", "name": "warte 1s", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 960, "y": 500, "wires": [ [ "b17cb1d4b5701144", "a0caeaab1081c8ab" ] ] }, { "id": "a0caeaab1081c8ab", "type": "link out", "z": "57f47df45469191a", "name": "link out 1", "mode": "link", "links": [ "7c5bf6467d2f9344" ], "x": 1115, "y": 520, "wires": [] }, { "id": "7c5bf6467d2f9344", "type": "link in", "z": "57f47df45469191a", "name": "link in 1", "links": [ "a0caeaab1081c8ab" ], "x": 65, "y": 600, "wires": [ [ "65e798b0af11b036" ] ] }, { "id": "c8e12936e353427e", "type": "ioBroker out", "z": "57f47df45469191a", "name": "durchfl.", "topic": "0_userdata.0.Kaffeemaschine.Wasser_Durchfluss", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 580, "y": 540, "wires": [] }, { "id": "f80b36ef40dba067", "type": "delay", "z": "57f47df45469191a", "name": "warte 70s", "pauseType": "delay", "timeout": "70", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 280, "y": 540, "wires": [ [ "40da82c58be24d99" ] ] }, { "id": "40da82c58be24d99", "type": "change", "z": "57f47df45469191a", "name": "Tag Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 420, "y": 540, "wires": [ [ "c8e12936e353427e" ] ] } ]
-
@aphofis Klingt, als wenn's in die richtige Richtung geht. Feinheiten klären wir dann morgen.
-
Es scheint bei der Kaffeemaschiene alles zu laufen. Nur die Node vom Aquarium bekomme ich nicht hin.
Die Steuerung muss ja nur auf den Schwimmer reagieren und wenn schwimmer true ist vllt 10 sek warten um dann die rechnung aus zu lösen und 11 sek um dann den druchfluss reset und ESP Counter reset auszulösen.
Das Magnetventil wird ja durch den Schwimmer ein und ausgeschaltet.[ { "id": "e96d40e5c03c8e73", "type": "tab", "label": "Wasser Aquarium", "disabled": false, "info": "", "env": [] }, { "id": "a33e443616fc222a", "type": "junction", "z": "e96d40e5c03c8e73", "x": 490, "y": 640, "wires": [ [ "60d53c22716069e9", "d068ec15abcaade1" ] ] }, { "id": "386107c00f1d7619", "type": "junction", "z": "e96d40e5c03c8e73", "x": 490, "y": 760, "wires": [ [ "8ef2203079f36296", "29b1c7a13367c06a" ] ] }, { "id": "eaa54aa4d4524f13", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "jahr", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Jahr", "attrname": "jahr", "payloadType": "value", "errOnInvalidState": "nothing", "x": 410, "y": 520, "wires": [ [ "4d1b142f05cab694" ] ] }, { "id": "4d1b142f05cab694", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "gesamt", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Gesamt", "attrname": "gesamt", "payloadType": "value", "errOnInvalidState": "nothing", "x": 540, "y": 520, "wires": [ [ "5fd63c6641e9671f" ] ] }, { "id": "ab094d747fb4d4a2", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Ausgabe Rechnung", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1100, "y": 780, "wires": [] }, { "id": "54048569a59a81bb", "type": "change", "z": "e96d40e5c03c8e73", "name": "rechnung", "rules": [ { "t": "set", "p": "durchfluss", "pt": "msg", "to": "$round(durchfluss / 2.207,2)", "tot": "jsonata" }, { "t": "set", "p": "jahr", "pt": "msg", "to": "$round(durchfluss / 1000 + jahr,2)", "tot": "jsonata" }, { "t": "set", "p": "gesamt", "pt": "msg", "to": "$round(durchfluss / 1000 + gesamt,2)", "tot": "jsonata" }, { "t": "set", "p": "tag", "pt": "msg", "to": "$round(durchfluss + tag,2)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 840, "y": 520, "wires": [ [ "c0b45921777999b9", "39aa9bd9d6bd2aba", "1ff4be2b8a9ab574", "0299ee6b90129254", "ab094d747fb4d4a2" ] ] }, { "id": "9ee03dcc9a9f622a", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "count", "topic": "sonoff.0.Aqua_Float.SENSOR.COUNTER.C1", "attrname": "durchfluss", "payloadType": "value", "errOnInvalidState": "nothing", "x": 170, "y": 520, "wires": [ [ "229c64f2f419668b" ] ] }, { "id": "b24e06dbb8e9ac50", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "durchfl.", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Counter", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1290, "y": 580, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "c6281d6865cd92d2", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "tag", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Tag", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1280, "y": 460, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "afcca7e9867b3ebb", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "jahr", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Jahr", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1280, "y": 520, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "be2423fc891d456a", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "gesamt", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Gesamt", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1290, "y": 640, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "229c64f2f419668b", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "tag", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Tag", "attrname": "tag", "payloadType": "value", "errOnInvalidState": "nothing", "x": 290, "y": 520, "wires": [ [ "eaa54aa4d4524f13" ] ] }, { "id": "39aa9bd9d6bd2aba", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "durchfluss", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1120, "y": 580, "wires": [ [ "b24e06dbb8e9ac50" ] ] }, { "id": "1ff4be2b8a9ab574", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "tag", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1110, "y": 460, "wires": [ [ "c6281d6865cd92d2" ] ] }, { "id": "0299ee6b90129254", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "jahr", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1110, "y": 520, "wires": [ [ "afcca7e9867b3ebb" ] ] }, { "id": "c0b45921777999b9", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "gesamt", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1120, "y": 640, "wires": [ [ "be2423fc891d456a" ] ] }, { "id": "9e57e652668d85fa", "type": "ioBroker in", "z": "e96d40e5c03c8e73", "name": "Aquarium Schwimmer", "attrname": "payload", "topic": "sonoff.0.Aqua_Float.POWER1", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 100, "y": 220, "wires": [ [ "f1c7fb20f85acbee", "c0dfdd7212b9892f", "472ee6a39b3d21f3", "6eab2c58acf1cbd5", "d272c6eba743cc72" ] ] }, { "id": "e47c6d731c3e73c6", "type": "http request", "z": "e96d40e5c03c8e73", "name": "Senden", "method": "GET", "ret": "txt", "paytoqs": "ignore", "url": "http://192.168.0.71/cm?user=user&password=password&cmnd=counter1%200", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 980, "y": 40, "wires": [ [ "eb76397a7e0ab011" ] ] }, { "id": "a4e19115fa06a55b", "type": "change", "z": "e96d40e5c03c8e73", "name": "Aqua Counter Reset", "rules": [ { "t": "set", "p": "url", "pt": "msg", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 40, "wires": [ [ "6ed396444b677b10" ] ] }, { "id": "eb76397a7e0ab011", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Ausgabe Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1140, "y": 40, "wires": [] }, { "id": "d272c6eba743cc72", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 1sek", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 430, "y": 40, "wires": [ [ "a4e19115fa06a55b" ] ] }, { "id": "d068ec15abcaade1", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Jahr Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 590, "y": 620, "wires": [] }, { "id": "60d53c22716069e9", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "Jahr", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Jahr", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 570, "y": 660, "wires": [] }, { "id": "c414e941c9432637", "type": "change", "z": "e96d40e5c03c8e73", "name": "Jahr Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 390, "y": 640, "wires": [ [ "a33e443616fc222a" ] ] }, { "id": "ddd069f4381994d0", "type": "inject", "z": "e96d40e5c03c8e73", "name": "Counter Reset Manuell", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 180, "y": 40, "wires": [ [ "d272c6eba743cc72" ] ] }, { "id": "5fd63c6641e9671f", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 5sek", "pauseType": "delay", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 690, "y": 520, "wires": [ [ "54048569a59a81bb" ] ] }, { "id": "6ed396444b677b10", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 6sek", "pauseType": "delay", "timeout": "6", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 810, "y": 40, "wires": [ [ "e47c6d731c3e73c6" ] ] }, { "id": "f4fba734f82a61ca", "type": "cronplus", "z": "e96d40e5c03c8e73", "name": "Aqua Jahr Reset", "outputField": "payload", "timeZone": "", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "Zeitplan", "topic": "Counter Aqua Reset", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 0 31 12 ? *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise,sunset" } ], "x": 190, "y": 640, "wires": [ [ "c414e941c9432637" ] ] }, { "id": "53715765e5ba3798", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Counter lesen", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1160, "y": 260, "wires": [] }, { "id": "49a24c8dbf3069a7", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 1s", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 940, "y": 260, "wires": [ [ "53715765e5ba3798", "bda78f206532ead4" ] ] }, { "id": "bda78f206532ead4", "type": "link out", "z": "e96d40e5c03c8e73", "name": "link out 2", "mode": "link", "links": [ "7303186ce79854c1" ], "x": 1075, "y": 360, "wires": [] }, { "id": "7303186ce79854c1", "type": "link in", "z": "e96d40e5c03c8e73", "name": "link in 2", "links": [ "bda78f206532ead4" ], "x": 75, "y": 520, "wires": [ [ "9ee03dcc9a9f622a" ] ] }, { "id": "7c892b7636e3d9d8", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "durchfl.", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Counter", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 640, "y": 280, "wires": [] }, { "id": "f1c7fb20f85acbee", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 4s", "pauseType": "delay", "timeout": "4", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 340, "y": 280, "wires": [ [ "3879868e12e9ddb2" ] ] }, { "id": "3879868e12e9ddb2", "type": "change", "z": "e96d40e5c03c8e73", "name": "durchfl.Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 490, "y": 280, "wires": [ [ "7c892b7636e3d9d8" ] ] }, { "id": "29b1c7a13367c06a", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Tag Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 580, "y": 740, "wires": [] }, { "id": "8ef2203079f36296", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "tag", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Tag", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 570, "y": 780, "wires": [] }, { "id": "fcf7480806fc8018", "type": "change", "z": "e96d40e5c03c8e73", "name": "Tag Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 380, "y": 760, "wires": [ [ "386107c00f1d7619" ] ] }, { "id": "d5126388d3b02e0c", "type": "cronplus", "z": "e96d40e5c03c8e73", "name": "Aqua Tag Reset", "outputField": "payload", "timeZone": "", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "Zeitplan", "topic": "Counter Aqua Reset", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 0 * * ? *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise,sunset" } ], "x": 180, "y": 760, "wires": [ [ "fcf7480806fc8018" ] ] }, { "id": "c0dfdd7212b9892f", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Aquarium Schwimmer", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 360, "y": 340, "wires": [] }, { "id": "6eab2c58acf1cbd5", "type": "function", "z": "e96d40e5c03c8e73", "name": "true->Start-false->Reset Trigger", "func": "let news = msg.payload;\n\nif(news == true){\n msg.payload = true;\n return msg;\n}\nif(news == false){\n msg.reset = true;\n return msg;\n}\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 390, "y": 160, "wires": [ [ "bef576295b23f014" ] ] }, { "id": "a93e73afeac53427", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Magnetschalter ein", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1170, "y": 120, "wires": [] }, { "id": "b221e87bcb4925b3", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "Magnetventil", "topic": "sonoff.0.GordonX-Home-Kaffeemaschine.POWER2", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1150, "y": 160, "wires": [] }, { "id": "ad3b00386df37a23", "type": "change", "z": "e96d40e5c03c8e73", "name": "true -> false", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 950, "y": 200, "wires": [ [ "b221e87bcb4925b3", "e3a33291c8476a30" ] ] }, { "id": "e3a33291c8476a30", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Magnetschalter aus", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1170, "y": 220, "wires": [] }, { "id": "472ee6a39b3d21f3", "type": "function", "z": "e96d40e5c03c8e73", "name": "false->Start-true->Reset Trigger", "func": "let news = msg.payload;\n\nif(news == false){\n msg.payload = true;\n return msg;\n}\nif(news == true){\n msg.reset = true;\n return msg;\n}\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 390, "y": 220, "wires": [ [ "c581b3043d9c3910" ] ] }, { "id": "c581b3043d9c3910", "type": "trigger", "z": "e96d40e5c03c8e73", "name": "Trigger nach 2sek stabli false", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "2", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 680, "y": 220, "wires": [ [], [ "ad3b00386df37a23", "49a24c8dbf3069a7" ] ] }, { "id": "bef576295b23f014", "type": "trigger", "z": "e96d40e5c03c8e73", "name": "Triggger nach 2sek stabil true", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "2", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 690, "y": 160, "wires": [ [], [ "b221e87bcb4925b3", "a93e73afeac53427" ] ] } ]
-
kennt sich denn keiner bei Node-Red soweit aus um mir sagen zu können, warum das bei der Kaffeemaschine funktioniert und beim Aquarium nicht !?
Der Unterschied ist halt das die Steuerung bei der Kaffeemaschine das Magnetventil per Relais mit dem Schwimmer schaltet und beim Aquarium läuft das Magnetventil Minus über den Schwimmer also muss die Steuerung nur den Schwimmer true Zustand abgreifen, 1 min warten und erst dann ausrechnen wenn die true false true phase vorbei ist. erst dann lohnt sich eine Rechnung da dass wasser nur in kurzen schüben aufgefüllt wird. erst dann rechnung und dann erst reset vom ESP Counter und Durchfluss Datenpunkt. -
Habe es jetzt so umgebaut und es scheint zu laufen.
Ob es so aber korrekt ist weiß ich nicht.[ { "id": "e96d40e5c03c8e73", "type": "tab", "label": "Wasser Aquarium", "disabled": false, "info": "", "env": [] }, { "id": "a33e443616fc222a", "type": "junction", "z": "e96d40e5c03c8e73", "x": 490, "y": 640, "wires": [ [ "60d53c22716069e9", "d068ec15abcaade1" ] ] }, { "id": "386107c00f1d7619", "type": "junction", "z": "e96d40e5c03c8e73", "x": 490, "y": 760, "wires": [ [ "8ef2203079f36296", "29b1c7a13367c06a" ] ] }, { "id": "eaa54aa4d4524f13", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "jahr", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Jahr", "attrname": "jahr", "payloadType": "value", "errOnInvalidState": "nothing", "x": 570, "y": 520, "wires": [ [ "4d1b142f05cab694" ] ] }, { "id": "4d1b142f05cab694", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "gesamt", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Gesamt", "attrname": "gesamt", "payloadType": "value", "errOnInvalidState": "nothing", "x": 700, "y": 520, "wires": [ [ "5fd63c6641e9671f" ] ] }, { "id": "ab094d747fb4d4a2", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Ausgabe Rechnung", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1230, "y": 700, "wires": [] }, { "id": "54048569a59a81bb", "type": "change", "z": "e96d40e5c03c8e73", "name": "rechnung", "rules": [ { "t": "set", "p": "durchfluss", "pt": "msg", "to": "$round(durchfluss / 2.207,2)", "tot": "jsonata" }, { "t": "set", "p": "jahr", "pt": "msg", "to": "$round(durchfluss / 1000 + jahr,2)", "tot": "jsonata" }, { "t": "set", "p": "gesamt", "pt": "msg", "to": "$round(durchfluss / 1000 + gesamt,2)", "tot": "jsonata" }, { "t": "set", "p": "tag", "pt": "msg", "to": "$round(durchfluss + tag,2)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 960, "y": 520, "wires": [ [ "c0b45921777999b9", "39aa9bd9d6bd2aba", "1ff4be2b8a9ab574", "0299ee6b90129254", "5aeb77b14518a6cc" ] ] }, { "id": "9ee03dcc9a9f622a", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "count", "topic": "sonoff.0.Aqua_Float.SENSOR.COUNTER.C1", "attrname": "durchfluss", "payloadType": "value", "errOnInvalidState": "nothing", "x": 330, "y": 520, "wires": [ [ "229c64f2f419668b" ] ] }, { "id": "b24e06dbb8e9ac50", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "durchfl.", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Counter", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1350, "y": 580, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "c6281d6865cd92d2", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "tag", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Tag", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1340, "y": 460, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "afcca7e9867b3ebb", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "jahr", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Jahr", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1340, "y": 520, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "be2423fc891d456a", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "gesamt", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Gesamt", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1350, "y": 640, "wires": [], "icon": "node-red-contrib-calc/calculator.png" }, { "id": "229c64f2f419668b", "type": "ioBroker get", "z": "e96d40e5c03c8e73", "name": "tag", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Tag", "attrname": "tag", "payloadType": "value", "errOnInvalidState": "nothing", "x": 450, "y": 520, "wires": [ [ "eaa54aa4d4524f13" ] ] }, { "id": "39aa9bd9d6bd2aba", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "durchfluss", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1170, "y": 580, "wires": [ [ "b24e06dbb8e9ac50" ] ] }, { "id": "1ff4be2b8a9ab574", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "tag", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1150, "y": 460, "wires": [ [ "c6281d6865cd92d2" ] ] }, { "id": "0299ee6b90129254", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "jahr", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1150, "y": 520, "wires": [ [ "afcca7e9867b3ebb" ] ] }, { "id": "c0b45921777999b9", "type": "change", "z": "e96d40e5c03c8e73", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "gesamt", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1150, "y": 640, "wires": [ [ "be2423fc891d456a" ] ] }, { "id": "9e57e652668d85fa", "type": "ioBroker in", "z": "e96d40e5c03c8e73", "name": "Aquarium Schwimmer", "attrname": "payload", "topic": "sonoff.0.Aqua_Float.POWER1", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 160, "y": 220, "wires": [ [ "f1c7fb20f85acbee", "c0dfdd7212b9892f", "472ee6a39b3d21f3", "6eab2c58acf1cbd5" ] ] }, { "id": "e47c6d731c3e73c6", "type": "http request", "z": "e96d40e5c03c8e73", "name": "Senden", "method": "GET", "ret": "txt", "paytoqs": "ignore", "url": "http://192.168.0.71/cm?user=user&password=password&cmnd=counter1%200", "tls": "", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "", "senderr": false, "headers": [], "x": 980, "y": 40, "wires": [ [ "eb76397a7e0ab011" ] ] }, { "id": "a4e19115fa06a55b", "type": "change", "z": "e96d40e5c03c8e73", "name": "Aqua Counter Reset", "rules": [ { "t": "set", "p": "url", "pt": "msg", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 40, "wires": [ [ "6ed396444b677b10" ] ] }, { "id": "eb76397a7e0ab011", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Ausgabe Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1140, "y": 40, "wires": [] }, { "id": "d272c6eba743cc72", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 80s", "pauseType": "delay", "timeout": "80", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 420, "y": 40, "wires": [ [ "a4e19115fa06a55b" ] ] }, { "id": "d068ec15abcaade1", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Jahr Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 590, "y": 620, "wires": [] }, { "id": "60d53c22716069e9", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "Jahr", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Jahr", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 570, "y": 660, "wires": [] }, { "id": "c414e941c9432637", "type": "change", "z": "e96d40e5c03c8e73", "name": "Jahr Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 390, "y": 640, "wires": [ [ "a33e443616fc222a" ] ] }, { "id": "ddd069f4381994d0", "type": "inject", "z": "e96d40e5c03c8e73", "name": "Counter Reset Manuell", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "true", "payloadType": "bool", "x": 160, "y": 40, "wires": [ [ "d272c6eba743cc72" ] ] }, { "id": "5fd63c6641e9671f", "type": "delay", "z": "e96d40e5c03c8e73", "name": "5sek", "pauseType": "delay", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 830, "y": 520, "wires": [ [ "54048569a59a81bb" ] ] }, { "id": "6ed396444b677b10", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 5s", "pauseType": "delay", "timeout": "5", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 800, "y": 40, "wires": [ [ "e47c6d731c3e73c6" ] ] }, { "id": "f4fba734f82a61ca", "type": "cronplus", "z": "e96d40e5c03c8e73", "name": "Aqua Jahr Reset", "outputField": "payload", "timeZone": "", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "Zeitplan", "topic": "Counter Aqua Reset", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 0 31 12 ? *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise,sunset" } ], "x": 190, "y": 640, "wires": [ [ "c414e941c9432637" ] ] }, { "id": "53715765e5ba3798", "type": "debug", "z": "e96d40e5c03c8e73", "d": true, "name": "Counter lesen", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1140, "y": 260, "wires": [] }, { "id": "49a24c8dbf3069a7", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 1s", "pauseType": "delay", "timeout": "1", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 940, "y": 260, "wires": [ [ "53715765e5ba3798", "bda78f206532ead4" ] ] }, { "id": "bda78f206532ead4", "type": "link out", "z": "e96d40e5c03c8e73", "name": "link out 2", "mode": "link", "links": [ "7303186ce79854c1" ], "x": 1075, "y": 300, "wires": [] }, { "id": "7303186ce79854c1", "type": "link in", "z": "e96d40e5c03c8e73", "name": "link in 2", "links": [ "bda78f206532ead4" ], "x": 55, "y": 520, "wires": [ [ "8d378ef8d839f969" ] ] }, { "id": "7c892b7636e3d9d8", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "durchfl.", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasser_Counter", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 760, "y": 280, "wires": [] }, { "id": "f1c7fb20f85acbee", "type": "delay", "z": "e96d40e5c03c8e73", "name": "warte 4s", "pauseType": "delay", "timeout": "4", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 460, "y": 280, "wires": [ [ "3879868e12e9ddb2" ] ] }, { "id": "3879868e12e9ddb2", "type": "change", "z": "e96d40e5c03c8e73", "name": "durchfl.Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 610, "y": 280, "wires": [ [ "7c892b7636e3d9d8" ] ] }, { "id": "29b1c7a13367c06a", "type": "debug", "z": "e96d40e5c03c8e73", "name": "Tag Reset", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 580, "y": 740, "wires": [] }, { "id": "8ef2203079f36296", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "tag", "topic": "0_userdata.0.Aqua_Control.0.Wasser.Wasserzähler_Tag", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 570, "y": 780, "wires": [] }, { "id": "fcf7480806fc8018", "type": "change", "z": "e96d40e5c03c8e73", "name": "Tag Reset", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "0", "tot": "num" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 380, "y": 760, "wires": [ [ "386107c00f1d7619" ] ] }, { "id": "d5126388d3b02e0c", "type": "cronplus", "z": "e96d40e5c03c8e73", "name": "Aqua Tag Reset", "outputField": "payload", "timeZone": "", "storeName": "", "commandResponseMsgOutput": "output1", "defaultLocation": "", "defaultLocationType": "default", "outputs": 1, "options": [ { "name": "Zeitplan", "topic": "Counter Aqua Reset", "payloadType": "default", "payload": "", "expressionType": "cron", "expression": "0 0 0 * * ? *", "location": "", "offset": "0", "solarType": "all", "solarEvents": "sunrise,sunset" } ], "x": 180, "y": 760, "wires": [ [ "fcf7480806fc8018" ] ] }, { "id": "c0dfdd7212b9892f", "type": "debug", "z": "e96d40e5c03c8e73", "d": true, "name": "Aquarium Schwimmer", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 480, "y": 340, "wires": [] }, { "id": "6eab2c58acf1cbd5", "type": "function", "z": "e96d40e5c03c8e73", "name": "true->Start-false->Reset Trigger", "func": "let news = msg.payload;\n\nif(news == true){\n msg.payload = true;\n return msg;\n}\nif(news == false){\n msg.reset = true;\n return msg;\n}\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 510, "y": 160, "wires": [ [ "bef576295b23f014" ] ] }, { "id": "a93e73afeac53427", "type": "debug", "z": "e96d40e5c03c8e73", "d": true, "name": "Magnetschalter ein", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1150, "y": 120, "wires": [] }, { "id": "b221e87bcb4925b3", "type": "ioBroker out", "z": "e96d40e5c03c8e73", "name": "Magnetventil", "topic": "sonoff.0.GordonX-Home-Kaffeemaschine.POWER2", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1130, "y": 160, "wires": [] }, { "id": "ad3b00386df37a23", "type": "change", "z": "e96d40e5c03c8e73", "name": "true -> false", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 950, "y": 200, "wires": [ [ "b221e87bcb4925b3", "e3a33291c8476a30" ] ] }, { "id": "e3a33291c8476a30", "type": "debug", "z": "e96d40e5c03c8e73", "d": true, "name": "Magnetschalter aus", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1150, "y": 220, "wires": [] }, { "id": "472ee6a39b3d21f3", "type": "function", "z": "e96d40e5c03c8e73", "name": "false->Start-true->Reset Trigger", "func": "let news = msg.payload;\n\nif(news == false){\n msg.payload = true;\n return msg;\n}\nif(news == true){\n msg.reset = true;\n return msg;\n}\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 510, "y": 220, "wires": [ [ "c581b3043d9c3910" ] ] }, { "id": "c581b3043d9c3910", "type": "trigger", "z": "e96d40e5c03c8e73", "name": "30s stabli false", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "30", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 760, "y": 220, "wires": [ [], [ "ad3b00386df37a23", "49a24c8dbf3069a7" ] ] }, { "id": "bef576295b23f014", "type": "trigger", "z": "e96d40e5c03c8e73", "name": "30s stabil true", "op1": "", "op2": "true", "op1type": "nul", "op2type": "bool", "duration": "30", "extend": false, "overrideDelay": false, "units": "s", "reset": "", "bytopic": "all", "topic": "topic", "outputs": 2, "x": 760, "y": 160, "wires": [ [], [ "b221e87bcb4925b3", "a93e73afeac53427" ] ] }, { "id": "8d378ef8d839f969", "type": "delay", "z": "e96d40e5c03c8e73", "name": "60s", "pauseType": "delay", "timeout": "60", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 150, "y": 520, "wires": [ [ "9ee03dcc9a9f622a", "10b55f76c82d1d6f" ] ] }, { "id": "5aeb77b14518a6cc", "type": "delay", "z": "e96d40e5c03c8e73", "name": "stündlich", "pauseType": "delay", "timeout": "1", "timeoutUnits": "hours", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "allowrate": false, "outputs": 1, "x": 1060, "y": 700, "wires": [ [ "ab094d747fb4d4a2" ] ] }, { "id": "10b55f76c82d1d6f", "type": "link out", "z": "e96d40e5c03c8e73", "name": "Counter Reset", "mode": "link", "links": [ "108573280c14d7d9" ], "x": 245, "y": 480, "wires": [], "icon": "node-red/serial.svg" }, { "id": "108573280c14d7d9", "type": "link in", "z": "e96d40e5c03c8e73", "name": "", "links": [ "10b55f76c82d1d6f" ], "x": 315, "y": 40, "wires": [ [ "d272c6eba743cc72" ] ], "icon": "node-red/serial.svg" } ]