NEWS
UNSOLVED [Vorlage] Poolfilterpumpensteuerung
-
Hallo, ich habe nun endlich mein Poolfilter Steterung so weit das ich diese auch euch zur verfügung stellen kan.
Ich hab das ganze so vereinfacht das man nur die Variablen ändern muss (ist gekenzeichnet) und nicht mehr das halbe Script durchsuchen muss wo noch eine falsche ObjektID ist...
Funktionen:
-
Alle Datenpunkte können automatisch erzeugt werden, einfach den Block über den Variablen-Stamm aktivieren und das Script neu Starten.
-
Es gibt zwei Einschaltzeiten (00:00-23:59) sowie zwei Laufzeiten (60) in Minuten die frei wählbar sind.
-
Wird die Filterpumpe per Hand eingeschalten nicht durch das Script schaltet die Pumpe nach 60min aus, diese Zeit kann auch geändert werden.
-
Es gibt eine Handeinschalt Funktion die die Pumpe einschaltet aber nicht mehr ausschaltet es wird nur stündlich gemeldet das die Pumpe x Stunden an ist.
-
Eine Zeitauswahl die die Pumpe für x Minuten (auswählbar) einschaltet und danach wieder ausschaltet.
Fehler und Bugs bitte einfach hier darunter Posten danke.
So sieht das Script aus:
Das Script:
https://github.com/3DGera/PoolfiltersteuerungTo-Do-Liste:
- Wird das Script gespeichert müssen alle Zeiten geändert und neu getriggert werden.
-
-
Sehr cool. Hätte Interesse nur bin ich irgendwie zu blöde um das Script in Blockly zu importieren. Weiß jemand was ich falsch mache?
-
@Marcelinho1692 du öffnest die Poolfiltersteuerung.txt in meinem Post kopierst den gesammten Text dort und geht in dein Script wo du es importieren möchtest. Dann klickst du auf dieses Icon
in dem geöffneten Fenster kopirst du dann alles aus der .txt Datei rein und klickst dann auf Importieren. FERTIG
Dann viel spaß mit dem Script
-
Neue Version des Scriptes verfügbar, bitte über meine GitHub Seite das Script herunterladen/kopieren.
DANKE
-
Ich habe einen Problem mit den variable Meldung. Was könnte das sein? wir die Variable nicht erzeugt?
Habe alle Datenpunkte automatisch erstellt.
folgende Meldungen bekomme ich im LOG:javascript.0
2019-06-15 10:36:49.563
warn
at script.js.common.Pool_Pumpe.Poolpumpe_Script:134:3
javascript.0
2019-06-15 10:36:49.563
warn
at Laufzeiterzeugung2 (script.js.common.Pool_Pumpe.Poolpumpe_Script:103:3)
javascript.0
2019-06-15 10:36:49.563
warn
at Meldung (script.js.common.Pool_Pumpe.Poolpumpe_Script:8:7)
javascript.0
2019-06-15 10:36:49.561
warn
getState "javascript.0.Pool.Meldung" not found (3) -
@locito09 Hast du meine Objekte Automatisch hinzugefügt oder hast du die Objekte selber erstellt und dann die OB_Variablen geändert?
Dir fehlt das Objekt "javascript.0.Pool.Meldung"
Bitte mal das neue Script von der GitHub Seite holen ich habe die ObjektId erstellung nun umgeschrieben. Diese wird jetzt die ObjektIDs auch gleich richtig formatieren.
-
@georgs Hallo, ich bin bei der Suche nach einer Möglichkeit meine Poolpumpe zu steuern über die Poolfiltersteuerung gestolpert. Habe das Skript in IoBrober implementiert und die Visualisierung auch gestartet. Alles läuft soweit auch ohne eine Fehlermeldung, nur die Laufzeiten laufen nicht die angegebene Zeit ab. Bei eingestellter Laufzeit1 von 120min laufen nur 60min und bei Laufzeit2 bei 210min nur 134min. Bin gerade etwas überfagt, an was das liegen könnte.
Ich muss aber zugeben, dass ich von Skrip programmierung keine Ahnung habe und bei Blockly nur einfache Blöcke hinbekomme.
Vieleicht gibt es hier ja jemanden de mir Helfen könnte.
Grüße in die Runde -
@georgs Moin Georg, dein script ist Top Vielen Dank dafür!
Ich hätte noch einen Vorschlag bzw. eine Idee dazu... Ich habe als erstes noch einen Block eingefügt, der die aktuelle Tageshöchsttemperatur vom daswetter adapter prüft. Den Wert teile ich durch 2 als Faustregel für die Pumpenlaufzeit und rechne mal 60 Minuten. Damit aktualisiere ich um 7 Uhr morgens die Filterzeit 2 nachdem ich die eingestellte Filterzeit 2 vom Ergebnis abgezogen habe..
Hintergrund: Die Laufzeit der Pumpe sollte (laut div. Foren) 1/2 Zeit in Stunden der Tagestemperatur laufen. Ich verwende einen Chlorinator der Abends das Becken chlort damit es über nacht wirken kann. Dazu muss die Pumpe eh laufen... ich starte um 18 Uhr mit 4 Stunden. Der Rest ist dann eben variabel, abhängig von der Tagestemperatur.
Hier ist der Codebaustein wenn die Ihn einbauen magst:
<block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="{On=]L?/+veq/[gbXc|W" x="-1162" y="-2262"> <field name="SCHEDULE">0 7 * * *</field> <statement name="STATEMENT"> <block type="comment" id="8znNY$$+0DSgaGv9S32%"> <field name="COMMENT">Laufzeitberechnung um 7 Uhr mit das Wetter / Tageshöchsttemperatur geteilt durch 2 abzüglich Laufzeit 2</field> <next> <block type="variables_set" id="iq#O{)]O[ros.6d+{nx|"> <field name="VAR" id="Bcx-@%4B@gt-0F}K:f(m">Tagestemperatur</field> <value name="VALUE"> <block type="math_arithmetic" id="kKA)~_2HvSc%-gs54@Id"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="iUTQPNqUiEXe7ROWM;~["> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="P/:6%u^Kt}S@:+h@pLA%"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="rj`fcd)$q{!/BkMP_G,6"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id=";1BA(hLKSMeJXkw!+j+S"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="-Cvsb1{4.tX-]H%I=N%x"> <field name="NUM">1</field> </shadow> <block type="get_value" id="xIq5WxS(#itC8pCxtwD2"> <field name="ATTR">val</field> <field name="OID">daswetter.0.NextHours.Location_1.Day_1.tempmax_value</field> </block> </value> <value name="B"> <shadow type="math_number" id="#YRwS=AX6eRxD{#~RcA5"> <field name="NUM">2</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="EcQfUgZSn]?w/kAwKmpK"> <field name="NUM">60</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="=lG7gc?Yo(|(JM^/s_fo"> <field name="NUM">240</field> </shadow> <block type="variables_get" id="1sI*w71rft{|0!p1BZ!!"> <field name="VAR" id="bd$x:fR[|5BNbw+MyPx2">Laufzeit2</field> </block> </value> </block> </value> <next> <block type="control" id="jLF)0=.qSK7zC$1Zd8Di"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Pool.Filteranlage.Laufzeit1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="7w;|cXlU!|PrpL[RR8b7"> <field name="VAR" id="Bcx-@%4B@gt-0F}K:f(m">Tagestemperatur</field> </block> </value> <next> <block type="debug" id="ZK`o`|PEVP_xw@#o543a"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="v=V75F5m6T}0-Djp%Je:"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="En+wE8T~)~)VFZ_b.VAT"> <field name="VAR" id="Bcx-@%4B@gt-0F}K:f(m">Tagestemperatur</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block>
Als nächstes würde ich die Redoxsteuerung einpflegen, dazu fehlt mir aber noch die Pool-ID vom Blueconnect...
-
@georgs
Guten Morgen. Erst einmal vielen Dank das du dies hier zur Verfügung stellst. Ich finde das genial das es Leute gibt die anderen in so einer Community helfen. Großes Lob. Ich bin gerade dabei meine poolsteuerung mit Shelly Aktoren zu realisieren. Dafür werde ich dein blockly importieren. Leider bin ich absoluter Leie was IObroker angeht . Ich habe minimale wissen weil ich mir den raspi sowie iobroker erst vor ein paar Tagen angelegt habe weil ich mich da ein arbeiten will. Meine Herausforderung besteht jetzt aber darin, dass ich zusätzlich einen Stellmotor schalten will der den Weg zu meinen Solarmodulen öffnen soll. Dazu habe ich zwei Temperatursensoren am Pool bzw solar angebracht. Hättest du für sowas auch einen Vorschlag oder eine fast fertige Lösung. Das wäre genial. Ich werde das nachher mal testen was du hier veröffentlicht hast. vis habe ich bisher auch noch nicht genutzt. Das muss ich jetzt auch unebdingt machen. -
@shadow79 Hallo Shadow, ich habe bei mir ein solches 3-Wege Mischventil im einsatz, welches ich umgebaut habe mit einem High Torque Motor.
Mittels 3D-Druck habe ich mir Teile angefertigt um den Motor und Endschalter auf das Ventil zu bringen.!
Um den Motor zu steuern habe ich einen Wemos D1 Mini mit Tasmota in IoBroker und 2 Relais in ein Gehäuse gepackt. .Wäre als Ideenspender gedacht. Ich bin aber auch gespannt ob alles so läuft, weil ich bis jetzt nur Trockentests machen konnte. Der Pool steht auf grund des bescheidenen Wetters noch nicht.
Grüße an alle. -
@fhepfussel cool. ich schicke mal fotos von meiner Konstruktion. Heute sollten die letzten teile eintreffen. Vielleicht schaffe ich es am Wochende.Dann melde ich mich. Dann brauche ich nur die Blockly hilfe. aber dringend
-
@soerenkaiser99 hallo, kannst du mir vielleicht helfen. Ich würde gern diese Blocky auch nutzen. Ich bin aber absoluter neuling und weiß überhaupt nicht was da wie abläuft. bräuchte echt jemand der das schritt für schritt mir erklärt um da rein zu kommen und es für meinen teil anzupassen.
-
@fhepfussel Coole Idee funktioniert das ganze denn nun zuverlässig?
@shadow79 Brauchst du denn noch Hilfe bei der Implementierung des Blockly?
-
@georgs Hi, sorry die späte Antwort, waren im Urlaub. Die Idee ist Cool, aber es läuft nicht zuverlässig. Die Steuerung arbeitet so ein bis zwei Tage, dann plötzlich läd sie die Parameter neu mitten im laufen und schaltet die Pumpe nicht mehr ab oder ein, je nachdem zu welcher Zeit der neue Load kommt. Dann muss ich das Skript stoppen und neu starten, damit es wieder funktioniert. Oder was auch schon war das Zeit 1 eingeschaltet wurde und gleich darauf wieder aus, obwohl die ausschaltzeit eine ganz andere ist.
Grüße -
Hast du noch irgend etwas hinzugefügt? Denn bei mir läuft das ganze jetzt seit 3 Jahre problemlos.
Warum läd er denn die Parameter neu? Wenn er nämlich die Parameter neu läd schaltet er eigentlich die Pumpe aus.
Kannst du mir mal dein Skript schicken?
-
@georgs Hi, danke für die schnelle Antwort. Leider weis ich im Moment gar nicht mehr ob ich etwas verändert hatte, in der VIS ja da hab ich etwas gemacht, was allerdings darauf keinen Einfluss habes sollte. Wie kann ich dir das Skript schicken?
Gruß -
@fhepfussel Du gehst in das Blockly Script rein und drückst oben rechts auf "Blöcke exportieren" dann öffnet sich ein neues Fenster und den Inhalt dann einfach mal Posten
Laut deinem Beitrag von damals wolltest du deine Solaranlage noch einbinden
-
-
@georgs Hier mal noch ein Bild von Telegram.
wo mitten drin die Grundeinstellungen geladen wurden.
Vieleicht finde ich noch das andere wo ich vorhin meinte
oder hier mitten in der Nacht
-
@fhepfussel Ist ja sehr komisch... ich lass mal ein paar Tage das Skript laufen und schau ob das bei mir auch passiert... Das sollte das Skript nicht machen sehr komisch
Das mit dem Mischer kannst du genau so in das Blockly stecken in dem du es Exportierst und dann wieder Importierst