Relaisschaltung verbunden mit Sensor

Guten Abend,

Ich würde gern eine Abwasserpumpe solange laufen lassen bis der Abwassertank leer ist.
Ist es möglich ein Relais so zu steuern, dass es bei einem bestimmten Tankfüllstand abschaltet?

Danke für Eure Hilfe

Klar ist das möglich, da musst du dir eine function node prorammieren.
So in der Art

var tank = global.get (levelxy)
If (tank <= 5)
{
msg.payload=false
}
else
msg.paylod = true
return msg
Oder so ähnlich :wink:
Du musst den schalter für das Ventil natürlich auch noch einbeziehen.

1 Like

@Ueberflieger1984
Hi Steven ich hab da mal was vorbereitet.
sollte so funktionieren

[{"id":"7eef1d7590f0bf26","type":"link in","z":"f1779a1a22539bee","name":"switch connect 1","links":["11c24833.f847b8"],"x":175,"y":1320,"wires":[["b3117d7ce3717aea","4040a518d58ee512"]]},{"id":"4040a518d58ee512","type":"function","z":"f1779a1a22539bee","name":"Programm","func":"// Zumtesten von global auf flow get umschalten und mit den 3 Inject den Tanlevel simulieren.\n//var tank = flow.get(\"Level1\"); // Zum Testen die beiden // am Anfang der Zeile entfernen\nvar tank = global.get(\"Level1\");  // Zumtesten // an den Anfang der Zeile setzen\nvar relay = flow.get(\"Abwasser\");\n\nif (relay == true){\n    if (tank <=5 ){\n        msg.payload = false\n        return [msg, null]\n    }\n    else{\n        msg.payload = true\n        return [msg, null];\n    }\n}\n\n\n\n","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":450,"y":1340,"wires":[["91bbad5d03217ea8"],[]]},{"id":"f30a060231f1e3ad","type":"inject","z":"f1779a1a22539bee","name":"4","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"4","payloadType":"num","x":310,"y":1080,"wires":[["b1ddc818064ff891"]]},{"id":"9c6a48621b917d0c","type":"inject","z":"f1779a1a22539bee","name":"5","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"5","payloadType":"num","x":310,"y":1120,"wires":[["b1ddc818064ff891"]]},{"id":"230b6f5d4449c98b","type":"inject","z":"f1779a1a22539bee","name":"6","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"6","payloadType":"num","x":310,"y":1160,"wires":[["b1ddc818064ff891"]]},{"id":"b1ddc818064ff891","type":"function","z":"f1779a1a22539bee","name":"flow set Level 1","func":"flow.set(\"Level1\", (parseFloat(msg.payload)));\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":580,"y":1120,"wires":[[]]},{"id":"b3117d7ce3717aea","type":"function","z":"f1779a1a22539bee","name":"Flow set Relay","func":"flow.set(\"Abwasser\", (msg.payload));\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":460,"y":1300,"wires":[[]]},{"id":"91bbad5d03217ea8","type":"link out","z":"f1779a1a22539bee","name":"switch connect 1","mode":"link","links":["e9ffa3ef.cde5d"],"x":565,"y":1340,"wires":[]},{"id":"2e15c90092d21323","type":"comment","z":"f1779a1a22539bee","name":"Im Programm kannst du zum Testen umschalten","info":"","x":480,"y":1380,"wires":[]},{"id":"6f861ebb976f5990","type":"comment","z":"f1779a1a22539bee","name":"das kannst du nach dem Testen löschen","info":"","x":560,"y":1060,"wires":[]}]

grafik
Sind im Endefekt nur die 4 module unten. Hat bei mir auch was länger gedauert, ich hatte mir eine Schleife gebaut, und das Relay war nur am flattern :nauseated_face: :rofl:
Konntest du die Startseite brauchen???
Gruß Arno

Hey Arno,

vielen Dank - es funktioniert. So sieht es jetzt bei mir aus.

Das Einzige was noch nicht ganz passt. ich kann das Relais nicht manuell abschalten. Falls der Tank doch nicht komplett leer gepumpt werden soll.
Kann ich das noch anpassen? (oder Du ;-))

Ich habe Deine Startseite als Lehrmaterial genutzt und mir daraus selbst etwas gebastelt.

Vielen Dank nochmal.
Grüße Steven

Sorry das hab ich nicht getestet.
Versuche ich die Tage noch. Ist mir jetzt zu spät. :wink:
Versuche mal zwischen Programm und linkout einen delay auf 1sec gestellt reinzuhängen. Könnte sein das es dass schon ist

@Ueberflieger1984
Das sollte funktionieren, es kann schon mal vorkommen das du 2 mal schalten musst.
Über den link in kommt ein Wust an Daten und wenn die Befehle gerade nicht überein passenen kommt das eventuell vor

[{"id":"f30a060231f1e3ad","type":"inject","z":"f1779a1a22539bee","name":"4","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"4","payloadType":"num","x":290,"y":1600,"wires":[["b1ddc818064ff891"]]},{"id":"9c6a48621b917d0c","type":"inject","z":"f1779a1a22539bee","name":"5","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"5","payloadType":"num","x":290,"y":1640,"wires":[["b1ddc818064ff891"]]},{"id":"230b6f5d4449c98b","type":"inject","z":"f1779a1a22539bee","name":"6","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"6","payloadType":"num","x":290,"y":1680,"wires":[["b1ddc818064ff891"]]},{"id":"b1ddc818064ff891","type":"function","z":"f1779a1a22539bee","name":"flow set Level 1","func":"flow.set(\"Level1\", (parseFloat(msg.payload)));\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":560,"y":1640,"wires":[["0f28655ac9cd41cd"]]},{"id":"2e15c90092d21323","type":"comment","z":"f1779a1a22539bee","name":"Im Programm kannst du zum Testen umschalten","info":"","x":710,"y":1880,"wires":[]},{"id":"6f861ebb976f5990","type":"comment","z":"f1779a1a22539bee","name":"das kannst du nach dem Testen löschen","info":"","x":540,"y":1580,"wires":[]},{"id":"8e1dc26f52d40b2c","type":"comment","z":"f1779a1a22539bee","name":"Abwessertank bei <=5% schließen","info":"","x":600,"y":1540,"wires":[]},{"id":"0f28655ac9cd41cd","type":"debug","z":"f1779a1a22539bee","name":"debug 265","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":770,"y":1600,"wires":[]},{"id":"9883c1a44ec338a2","type":"link in","z":"f1779a1a22539bee","name":"switch connect 1","links":["11c24833.f847b8"],"x":386,"y":1728,"wires":[["47870ba443bc230b","b160ace0ce0ca9be"]]},{"id":"47870ba443bc230b","type":"function","z":"f1779a1a22539bee","name":"Flow set Relay","func":"flow.set(\"Abwasser\", (msg.payload));\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":531,"y":1708,"wires":[["52de169d165edde2"]]},{"id":"b160ace0ce0ca9be","type":"debug","z":"f1779a1a22539bee","name":"debug 267","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":941,"y":1708,"wires":[]},{"id":"52de169d165edde2","type":"debug","z":"f1779a1a22539bee","name":"debug 268","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":741,"y":1708,"wires":[]},{"id":"ae23206fe2c436a1","type":"debug","z":"f1779a1a22539bee","name":"debug 269","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":1010,"y":1840,"wires":[]},{"id":"9fae948fdd2c8b43","type":"function","z":"f1779a1a22539bee","name":"Programm","func":"// Zumtesten von global auf flow get umschalten und mit den 3 Inject den Tanlevel simulieren.\nvar tank = flow.get(\"Level1\"); // Zum Testen die beiden // am Anfang der Zeile entfernen\n//var tank = global.get(\"Level1\");  // Zumtesten // an den Anfang der Zeile setzen\nvar relay = flow.get(\"Abwasser\");\nif (relay == false){\n    msg.payload = false\n    return [msg, null]\n}\nif (relay == true){\n    if (tank <=5 ){\n        msg.payload = false\n        return [msg, null]\n    }\n    else{\n        msg.payload = true\n        return [msg, null];\n    }\n}\n\n\n\n","outputs":2,"noerr":0,"initialize":"","finalize":"","libs":[],"x":590,"y":1780,"wires":[["7605a4dc830b7dcd","269b4634aa1145aa"],[]]},{"id":"945cb9d0e193f1b8","type":"link out","z":"f1779a1a22539bee","name":"switch connect 1","mode":"link","links":["e9ffa3ef.cde5d"],"x":985,"y":1780,"wires":[]},{"id":"7605a4dc830b7dcd","type":"debug","z":"f1779a1a22539bee","name":"debug 270","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":790,"y":1820,"wires":[]},{"id":"46ea651dc8496291","type":"inject","z":"f1779a1a22539bee","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"2","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"str","x":350,"y":1780,"wires":[["9fae948fdd2c8b43"]]},{"id":"269b4634aa1145aa","type":"rbe","z":"f1779a1a22539bee","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":810,"y":1780,"wires":[["945cb9d0e193f1b8","ae23206fe2c436a1"]]}]

und wieder von flow.get auf global.get umstellen

Hey Arno,

ich bin endlich dazu gekommen es auszuprobieren. Funktioniert super!! Vielen Dank!
Kannst Du mir noch sagen wo ich in Deinem Programm den Tankgeber und das dazugehörige Relais variieren kann?

Und natürlich habe ich zwei neue Fragen ;-).

  • wie kann ich ein relais als Taster nutzen (das Signal kann ruhig ein paar Sekunden stehen, aber halt keine 5 Minuten)

  • kann ich an das Raspberry zwei Touchdisplays anschließen? Ich würde gern eines oben am Fahrstand meines Bootes und eines unten im Boot montieren (und nein ich es soll kein Ipad werden - ich möchte gern ein festmontiertes Touchdisplay einbauen). Das Raspberry hat ja zwei Micro-HDMI Ausgänge.

Wie immer herzlichen Dank für Eure Hilfe. Grüße aus Berlin

Du hast einen link in und einen link out, da ist Switch Connect 1 eingestellt. Da musst du dannn auf 1-8 ??? Einstellen.
In dem global.get stellst du Level1-Level4 ein. Mit mehreren Displays??? Hab ich keine Ahnung. Du könntest ein NS_Panel nehmen, hier Forum gibt es aber einige Beiträge mit HDMI, da must du mal schauen.
Gruß aus Bonn

Ok - danke dir.

Hast Du noch einen Tipp wie ich aus einem Schalt-Relais einen Taster mache?

Mit dem Tastsignal kannst du änlich machen wie mit dem Tankgeber.
Nur nicht mit Tanksensor, sondern mit einem Delay.
Das Delay sorgt dann nach eingestellter Zeit dafür das der Schalter wieder ausgeschaltet wird. So könnte ich mir das vorstellen. Versuche es mal selber :innocent: