NEWS
Node-Red Node warte x bis rechnung
-
@geschild sagte in Node-Red Node warte x bis rechnung:
ussmesser liefert einen analogen? Wert.
genao so ist es.
Auf einem ESP8266 mit Tasmota ist Power1 Power2
Power1 ist der Schwimmschalter.
Power2 ist an einem Relai das Magnetventil.
Meine Kaffeemaschine hat einen direkten Wasseranschluß.
in dem Druckschlauch sitzt ein Durchflussmesser der auch in dieser Steuerung aus dem Pulse von dem was an Wasser durch den Sensor läuft errechnet. Bzw. kalibriert.
Nur reagiert die Steuerung nicht auf den Schwimmer.
Wenn sie das tun sollte dann muss sie das innerhalb von 500ms machen denn es gibt innerhalb mehrerer sekunden eine aktivierung des schwimmers. Der Schwimmer sitzt in meinem Wassertank und Magnetventil sitzt hinter der Kaffeemaschine in einem Gehäuse.
Es muss also entweder wenn schwimmer true sagen wir mal 30 sekunden gewartet werden dann soll er puls wert aus einem datenpunkt genommen werden ausgerechnet werden und zu Zähler Tag und zu Zähler Jahr dazu addiert werden. der Zähler Tag soll um 0 Uhr tählich resettet werden und der Zähler Jahr soll einmal ende jedes Jahres resettet werden. Der Datenpunkt Zähler gesamt da soll immer nur dazu addiert werden.
Der Wasser druchfluss Zähler soll den ermittelten und ausgerechneten Wert dann in die jeweiligen Datenpunkte schreiben und nach dem Pump vorgang resettet werden. und der esp soll auch per exec befehl einmal der counter auf null gestellt werden oder per Webseiten aufruf counter1 = 0
Also wie gesagt entweder soll die steuerung bei schwimmer true
30 sek warten, den wert aus waser durchfluss nehmen alles ausrechnen und die reset durchführen oder muss nach jedem schwimmer true innerhalb von 500ms ausrechnen und die Datenpunkte aktualisieren.
Ja, es sitzt alles an dem einen ESP angeschlossen.
Damit keine sauerei passiert, laufen die 12 volt minus leitung des magnet ventils über ein relai durch den Schwimmer damit die steuerung keinen schabernack treibt.
Es soll der schwimmer abgegriffen werden bei true rechnen und schreiben oder bei true 30 sek warten dann rechnen und schreibenESP
Datenpunkte Daten
Datenpunkte Sonoff (Tasmota) Gerät
-
@aphofis So langsam verstehe ich deinen Aufbau. Handelt es sich um eine normale Haushaltskaffemaschine oder eher um ein Industriegerät?
Nur reagiert die Steuerung nicht auf den Schwimmer.
Wenn sie das tun sollte dann muss sie das innerhalb von 500ms machen denn es gibt innerhalb mehrerer sekunden eine aktivierung des schwimmersWie muss ich mir den Schwimmerschalter vorstellen ? Mechanische Schwimmer (Ball mit Hebel) oder Magnetkontakt ?
Dieser meldet true, wenn der Wassertank leer ist?Kannst du mal das tasmota template posten?
Laufen sonst noch irgendwelche Rulse oder scripte.Ich frage so genau, da ich dir keine falschen Tipps geben möchte, weil ich etwas nicht richtig verstanden habe.
-
@geschild ist eine SIEMENS EQ6 plus s700
So ein Schwimmer ist es.
Mein Tasmota Template
Friendly Name
Geräte
Nein auf dem Tasmota läuft ausschließlich die Kaffee maschine.
Rules oder Scripte habe ich nicht am laufen.
Quatsch alles gut, freue mich ja wenn ich meine mega mini sorge mit jemandem teilen kann. -
@aphofis Der Schwimmer hängt in dem kleinen schmalen Wassertank an der Seite?
Schwimmer unten = true (Tank leer), aber er "tanzt" unten ein wenig, sodass mehrere true-false-true kommen ?Dein template und der screenshot Geräte stimmen nicht überein.
Ich hab die Vorlage mal nachgestellt -> template: {"NAME":"GordonX-Home-Kaffee","GPIO":[1,1,1,1,1,1,1,1,224,160,352,225,1,1],"FLAG":0,"BASE":18}
Ist dein ESP8266 ein Wemos D1? Hast du schon mal selber mit z.B. Arduino programmiert?
-
@geschild
Naja noch ist er im oberen drittel. Kommt aber noch ein Adapter gedruckt, damit der schwimmer niedriger ist und nicht so biel Wasser im Tank ist und ja unten ist true oben ist false
Ne die Maschine produziert halt nur schluck weise heisses wasser und zieht dann immer nur ein wenig, man könnte das Problem auch mit einem schwimmer lösen der einen längeren Hals hat aber da bin ich erst gerade eben drauf gekommen.
Müsste mal gucken hab glaube ich noch einen aus Edelstahl neu rumliegen.
Kann man mal testen.
Ich kann dir nur das schicken, was mein Tasmota auswirft auch in der Konole sieht mein Template so aus wie das was ich geschickt hatte.
Arduino ist lange her! hab irgendwo auch noch zwei liegen. das wollte ich eigentlich eher nicht eigentlich wollte ich das Node-Red node anpassen.
Hintergrund, des ganzen mein Aquarium hat selben aufbau würde dort auch gerne wissen, wie viel verdunstungs Wasser das Becken schluckt. Hatte mal ein 1000 Liter Meerwasser Becken. Dort lief eine Blockly Steuerung und ein Durchflussmesser direkt als Rohr Adapter im 32mm Rohr.
Dann nach 5 Jahren Betrieb Wasserschaden von der oberen Wohnung ist kontinuierlich gefiltertes Rigips und Dämmungs Leitungswasser ins Becken gelaufen viele Korallen und Fische kaputt, tot oder veralgt konnte nicht gegen an arbeiten. Becken abgebaut alles verkauft hab jetzt ein 110 Liter Becken. Das 1000 Liter steht noch und wartet. Wollte erst neue Wohnung dann 1000 Liter wieder aufbauen mit Süßwasser und dann weiß ich schon mal was der Wasserverbrauch ca ist. Klar größeres becken größere Wasseroberfläche etc.
Doch die Werte zu Wissen wäre schon Top. Nur halt gerne in Node-Red.
Und die ESPs machen ja was sie sollen. Habe damit auch schon selbst gebaute Dosierpumpen betrieben im ml bereich und ms bereich und das funzte dank @paul53 auch bombastisch gut. Nur ist mir Blockly suspekt ich verstehe da viele Schaltungen nicht, da finde ich Node-Red strukturierter komme damit noch sehr schlecht klar.
Es ist ein NodeMCU ESP8266 V3So nun kennst du den gesamten Hintergrund.
ESP
Schwimmer
Magnetventil
Durchflussmesser.
Steuerung muss laufen.
Man könnte auch nur eine Schaltung bauen die den Puls Wert bei true/false errechnet und in einen Datenpunkt als ml schreibt und der eigentlichen Steuerung kann man sagen bei true warte 60 sekunden dann rechnen und werte in die Datenpunkte addieren und rechnungs Datenpunkt für die kalibrierung leeren. -
@aphofis said in Node-Red Node warte x bis rechnung:
NodeMCU ESP8266 V3
Alles klar. Ich denke drüber nach und melde mich wieder.
zu: "So nun kennst du den gesamten Hintergrund"
Ich gehöre nicht zu den Leuten, die sich anmaßen zu beurteilen warum jemand etwas macht.
Jede hat gute Gründe. Mich interessiert nur das Problem und die Lösung. -
@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.
-
@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. -
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.