NEWS
[gelöst]Hilfe! true false Aquarium steuerung
-
Hey Ho, ich bin neu hier in der Community und auch neu im Blocklyien.
Da habe ich dann mal gleich was kniffeliges wo ich nicht weiter komme.
Ich baue mir momentan eine Aquarium Steuerung auf.
Dazu gehören:
Ein ESP8266 geflashed mit Tasmota darüber laufen ein 8 fach Relais und eine Temp Steuerung auch geflashed mit Tasmota.
Ein Raspberry mit iobroker installiert.
So nun zu meinem Script.
Ich habe es schon soweit, das wenn meine Förderpumpe ausgeschaltet wird, warum auch immer automatisch nach 10 Sek. wieder eingeschaltet wird. zeitgleich wird beim ausschalten auch mein Vliesfilter und mein Skimmer ausgeschaltet weil die sonst weiter und überlaufen! Das ist fatal. Somit werden sie mit ausgeschaltet und nach 3 min automatisch zugeschaltet da der Wasserstand im Technnik Becken wieder normal ist.
Soweit läuft alles. Auch mit benachrichtigungen per Telegram. Doch habe ich auch per alexa eine Routine, wenn ich Aquarium ausschalten Sage werden alle Technischen Geräte soweit abgeschaltet das ich füttern kann und sollte ich einschlafen oder es vergessen, wird alles auch mit den zeitversetzen Filtern bez Wasserstand zugeschaltet. Problem ist nun ich möchte, wenn Aquarium ausschalten aktiv ist sprich true dann soll die regel Förderpumpen automatik nicht greifen.
Hier Mein Förderpumpen Script:BlocklyJavascriptTypeScript Protokoll Ausgewählte Blöcke exportieren <xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on" id="csTMAXCnTEXgA:I9D,-N" x="13" y="-2562"> <field name="OID">sonoff.0.Aqua_Power_Control.POWER2</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="CA0QqIo++alEo(XE](F@"> <value name="IF0"> <block type="logic_compare" id="ed#~8iNEu.=wH87*5bgr"> <field name="OP">EQ</field> <value name="A"> <block type="convert_toboolean" id="(V_}z6|r/=p]{KKgJ%(B"> <value name="VALUE"> <block type="on_source" id="T}DDwEob-q6wr~47_!rB"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="_SMhhf([R$]V4Gu2?]-+"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="m|}Oh0rvFi%Q/lJLmnvb"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="#93nPT*(nsef9Ru`q-NH"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="/2@8Qr-|!I+N?/#kLyT?"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="y5tjx!=qfRp_G;Rc]pS_"> <field name="TEXT">Förderpumpe wurde um </field> </block> </value> <value name="ADD1"> <block type="time_get" id="+4Sl,(%LK.#2N*1p$`(3"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> </block> </value> <value name="ADD2"> <block type="text_newline" id="*:}E5mwNvU.`3JI|3Wk."> <field name="Type">\n</field> </block> </value> <value name="ADD3"> <block type="text" id="FTt_PZG6%DLFqMjoVp@]"> <field name="TEXT">ausgeschaltet</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="!pc`(r5{h#L4#c*/+=:B"> <field name="TEXT">Gordun</field> </block> </value> <next> <block type="control" id="7m|u!nSMamn~t$+7`h?u"> <mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Aqua_Power_Control.POWER2</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">10</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id=".c!G_FE-j?y?PNt%Q-.^"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="Z0yme~~`N979gJsD!u#["> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.Aqua_Power_Control.POWER3</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="eMnh%FS:d$L10`BP+O;q"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="z0uJ~2B^[-;|/v4]|/bt"> <value name="IF0"> <block type="logic_compare" id="fo~BxIwW^XukosKaiMHL"> <field name="OP">EQ</field> <value name="A"> <block type="convert_toboolean" id="~dB8qM-Vx~~=p|?gIiBs"> <value name="VALUE"> <block type="on_source" id="(O9G{`?^txkjU[IRaz,X"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="Oj$WjmzgJiD^[Wg5l)qQ"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="y1%X:DZ;fO(0^JcOrR$B"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="wRN*}4=26H,KDsI[G[1H"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="1zs|jy,77qtB}k;E!HlI"> <mutation items="6"></mutation> <value name="ADD0"> <block type="text" id="tiJ!gf}Z?(SwS.A~7_Gc"> <field name="TEXT">Förderpumpe wurde nach 10 Sek.</field> </block> </value> <value name="ADD1"> <block type="text_newline" id="pBgYD1%iLSX!b9+)89{m"> <field name="Type">\n</field> </block> </value> <value name="ADD2"> <block type="text" id="vDx}uJH+SRV_~s~]:M/m"> <field name="TEXT">um </field> </block> </value> <value name="ADD3"> <block type="time_get" id="WgE,s~eqh6)#uAbrPl/0"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> </block> </value> <value name="ADD4"> <block type="text_newline" id="kWBdG)7ZF?1%:~,3X}cN"> <field name="Type">\n</field> </block> </value> <value name="ADD5"> <block type="text" id="W@E$h~{%21TBR@wD}iBo"> <field name="TEXT">wieder eingeschaltet</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="dL]R(I2x%/4{xm.}0BWg"> <field name="TEXT">Gordun</field> </block> </value> <next> <block type="control" id="H:du%-WGgyF1H6WDbzX."> <mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Aqua_Power_Control.POWER3</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">3</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="C;N8P(!]C[^bC#7vNrA3"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="IDyNL(].ryVRo3iA[UCd"> <field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="telegram" id="kHn(ClJ*mz,O[g/Udlp%"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="wRN*}4=26H,KDsI[G[1H"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="VCX@:B},E:`IGuP|g0]@"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="xtX.2z,jRJeHxQ#4x0Kk"> <field name="TEXT">Filter wurde um </field> </block> </value> <value name="ADD1"> <block type="time_get" id="z*Eqa]9F6MV=HH.QgJbN"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> </block> </value> <value name="ADD2"> <block type="text_newline" id="!RcwC3s#FlY2=w|?2DnE"> <field name="Type">\n</field> </block> </value> <value name="ADD3"> <block type="text" id="#Fy2TmA:-+1x!nHU(/Wk"> <field name="TEXT">zeitversetzt nach 3 Min. zugeschaltet</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="?3@ri?41TccQ~%k}FS{H"> <field name="TEXT">Gordun</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </xml> <xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on" id="csTMAXCnTEXgA:I9D,-N" x="13" y="-2562"> <field name="OID">sonoff.0.Aqua_Power_Control.POWER2</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="CA0QqIo++alEo(XE](F@"> <value name="IF0"> <block type="logic_compare" id="ed#~8iNEu.=wH87*5bgr"> <field name="OP">EQ</field> <value name="A"> <block type="convert_toboolean" id="(V_}z6|r/=p]{KKgJ%(B"> <value name="VALUE"> <block type="on_source" id="T}DDwEob-q6wr~47_!rB"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="_SMhhf([R$]V4Gu2?]-+"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="m|}Oh0rvFi%Q/lJLmnvb"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="#93nPT*(nsef9Ru`q-NH"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="/2@8Qr-|!I+N?/#kLyT?"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="y5tjx!=qfRp_G;Rc]pS_"> <field name="TEXT">Förderpumpe wurde um </field> </block> </value> <value name="ADD1"> <block type="time_get" id="+4Sl,(%LK.#2N*1p$`(3"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> </block> </value> <value name="ADD2"> <block type="text_newline" id="*:}E5mwNvU.`3JI|3Wk."> <field name="Type">\n</field> </block> </value> <value name="ADD3"> <block type="text" id="FTt_PZG6%DLFqMjoVp@]"> <field name="TEXT">ausgeschaltet</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="!pc`(r5{h#L4#c*/+=:B"> <field name="TEXT">Gordun</field> </block> </value> <next> <block type="control" id="7m|u!nSMamn~t$+7`h?u"> <mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Aqua_Power_Control.POWER2</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">10</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id=".c!G_FE-j?y?PNt%Q-.^"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="Z0yme~~`N979gJsD!u#["> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.Aqua_Power_Control.POWER3</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="eMnh%FS:d$L10`BP+O;q"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="z0uJ~2B^[-;|/v4]|/bt"> <value name="IF0"> <block type="logic_compare" id="fo~BxIwW^XukosKaiMHL"> <field name="OP">EQ</field> <value name="A"> <block type="convert_toboolean" id="~dB8qM-Vx~~=p|?gIiBs"> <value name="VALUE"> <block type="on_source" id="(O9G{`?^txkjU[IRaz,X"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="Oj$WjmzgJiD^[Wg5l)qQ"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="y1%X:DZ;fO(0^JcOrR$B"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="wRN*}4=26H,KDsI[G[1H"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="1zs|jy,77qtB}k;E!HlI"> <mutation items="6"></mutation> <value name="ADD0"> <block type="text" id="tiJ!gf}Z?(SwS.A~7_Gc"> <field name="TEXT">Förderpumpe wurde nach 10 Sek.</field> </block> </value> <value name="ADD1"> <block type="text_newline" id="pBgYD1%iLSX!b9+)89{m"> <field name="Type">\n</field> </block> </value> <value name="ADD2"> <block type="text" id="vDx}uJH+SRV_~s~]:M/m"> <field name="TEXT">um </field> </block> </value> <value name="ADD3"> <block type="time_get" id="WgE,s~eqh6)#uAbrPl/0"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> </block> </value> <value name="ADD4"> <block type="text_newline" id="kWBdG)7ZF?1%:~,3X}cN"> <field name="Type">\n</field> </block> </value> <value name="ADD5"> <block type="text" id="W@E$h~{%21TBR@wD}iBo"> <field name="TEXT">wieder eingeschaltet</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="dL]R(I2x%/4{xm.}0BWg"> <field name="TEXT">Gordun</field> </block> </value> <next> <block type="control" id="H:du%-WGgyF1H6WDbzX."> <mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Aqua_Power_Control.POWER3</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">3</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="C;N8P(!]C[^bC#7vNrA3"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_settimeout" id="IDyNL(].ryVRo3iA[UCd"> <field name="NAME">timeout</field> <field name="DELAY">3</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="telegram" id="kHn(ClJ*mz,O[g/Udlp%"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="wRN*}4=26H,KDsI[G[1H"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="VCX@:B},E:`IGuP|g0]@"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="xtX.2z,jRJeHxQ#4x0Kk"> <field name="TEXT">Filter wurde um </field> </block> </value> <value name="ADD1"> <block type="time_get" id="z*Eqa]9F6MV=HH.QgJbN"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> </block> </value> <value name="ADD2"> <block type="text_newline" id="!RcwC3s#FlY2=w|?2DnE"> <field name="Type">\n</field> </block> </value> <value name="ADD3"> <block type="text" id="#Fy2TmA:-+1x!nHU(/Wk"> <field name="TEXT">zeitversetzt nach 3 Min. zugeschaltet</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="?3@ri?41TccQ~%k}FS{H"> <field name="TEXT">Gordun</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </xml> ```[s=] [/s]
-
@Aphofis
[OT ON]
Aquarien sind ein sensibles Ökosystem. Da kann viel schiefgehen.
Grundsätzlich halte ich nichts davon, das Wohlbefinden von Lebewesen von SmartHome und Alexa abhängig zu machen.
Endweder kümmere ich mich um die Tiere persönlich oder ich schaffe mir keine an!
Meine persönliche Meinung.
[OT OFF] -
@rantanplan sagte in Hilfe! wenn das dann mache falls das dann nichts Aquarium Steuerung:
@Aphofis
[OT ON]
Aquarien sind ein sensibles Ökosystem. Da kann viel schiefgehen.
Grundsätzlich halte ich nichts davon, das Wohlbefinden von Lebewesen von SmartHome und Alexa abhängig zu machen.
Endweder kümmere ich mich um die Tiere persönlich oder ich schaffe mir keine an!
Meine persönliche Meinung.
[OT OFF]Ich schließe mich dem zu 100% an. Die Technik ist einfach noch nicht reif genug um so ein sensibles Ökosystem zu steuern.
Jedoch spricht meiner Meinung nichts dagegen, das AQ mit der Technik zu überwachen. Temp, PH, generell Wasserwerte messen, Pumpendurchfluss, Strömungspumpen, Licht ... ist alles kein Problem.
Eine Nachtabschaltung für Co² halte ich aber wieder zu gewagt. Hier lieber ganz klassisch die mechanische Zeitschaltuhr - ja, die kann auch kaputt gehen, ich denke aber das Risiko ist erheblich geringer.
-
@rantanplan
Es ist nur eine Automatisierung!
Da ich eine Menge Technik am laufen habe und nicht alle paar Minuten in die Technik krabbeln möchte.
Steuere ich meine Geräte nun mal so.
Es gibt viele andere Aquarium Steuerungen, die meines erachtens auch nicht anfalliger sind als das was ich mir baue.
Da ich schon mehrfach das Problem hatte bei 900 Liter Wasser und einer ach so teuren Osmose Regulierung eines sehr bekannten Herstellers für sowas das Gerät aber am Überlaufschutz kein Wasser haben darf und ich in der Technik nun mal auch Luftfeuchtigkeit habe. Kam es dazu das der sensor Feucht war und die Osmose Anlage fröhlich in einigen Std mehrere Liter in die Technik gepumpt hat. Mal davon abgesehen das die Korallen und Fische etc unter der schwachen Salinität leiden. Hatte ich auch 120 Liter Salz Wasser im Wohnzimmer.
Daraufhin habe ich mir eine eigene Schaltung per Schwimmschalter gebaut. Erstens geht eine Sirene los wenn die Technik über normal Futter Pause Wasserstand ist. die Osmose Anlage habe ich raus geschmissen und eine Handelsübliche Pumpe für Osmose an einen Schwimmschalter geklemmt. mit einem weiteren Schwimmschalter der bei oberster Grenze widerrum die pumpe abschaltet.
Somit habe ich eine Steuerung die mechanisch perfekt ist und eigntl nicht Fehler anfällig.
Da ich alle Sensoren und Geräte auch Regelmäßig reinige.
Doch da ich Monteur bin und oft viele Std von zu Hause weg bin will ich Zustandsmeldungen haben!!!!!!
Sowas geht nur per Automation. Ich respektiere deine Meinung absolut doch für mich ist es logisch Zustände zu erfahren.
Da ich auch Phytoplankton und Garnelen züchte, sind gleichbleibende Werte unabdinbar.
Doch mal wieder zurück zum Thema! Es geht ja nun auch nicht darum ob Aquarium automation oder ob nicht. -
@Unbekannt Ich habe ein Meerwasser Aquarium was einen Osmose Wasser Niveau ausgleich benötigt!
Meine Lampen sind per WLAN miteinander verbunden und machen ihre Arbeit alleine für sonnen auf und untergang.
Meine Strömungspumpen laufen über einen eigenen Controller der das Strömungsbild formt.
Mein Aktivkohle Reaktor und Phosphat Absorber Reaktor und UVC laufen dauerhaft außer in der Futterpause.
Mehr noch ich hatte mehrere Zeitschaltuhren im Einsatz ist bei Süßwasser auch kein Problem aber bei Meerwasser gehen sogar diese kaputt wenn die Technik nicht zu 100% vom Technik Becken getrennt ist.
Die meisten Geräte laufen mit einem eigen Controller. So kann es vorkommen das meine Förderpumpe die das Wasser aus der Technik ins Aquarium pumpt manchmal in einem Error Modus geht ohne ersichtlichen Grund! Ja steuergerät und auch Pumpe wurden getauscht gegen neu. Hersteller ist Marke! wenn Förderpumpe in Error geht bleibt sie stehen. Mehrfach von Hand in Pause betrieb gesetzt und wieder gestartet und siehe da Pumpe läuft normal an und alles ist gut.
Da will ich mit der automation abholfe schaffen wenn ich nicht zu Hause bin kann ich nicht reagieren.
Wenn ich keine Zustandmeldungen bekomme kann ich nicht reagieren.
es muss eine gewisse Automation her, da zb Vliesfilter bei zu hohem Wasserstand das Vlies einfach durchläuft.
Sprich schwimmschalter an die automation hängen. Bei mir laufen ca 15 cm Vlies am Tag in 24 std dh man kann das per script begrenzen damit nicht das Vlies unnötig unbenutzt durchs wasser gezogen wird.
Skimmer kann auch einen zu hohen Wasserstand nicht ab. Hat zwar einen Überlaufschutz, funktioniert manchmal aber auch nicht. Somit kann man eine Menge Geräte dazu bringen richtig zu laufen wie in diesem Fall wenn meine Förderpumpe ausgeschaltet wird soll sie wieder eingeschaltet werden. Da ich nun mal Futter Pausen habe und dabei einen Teil an Technik abschalte ist es egal ob Alexa oder per Touchscreen oder ob ich die menge an einzelnen Controllern aus oder ein schalte da die eh vorhanden sind. -
@Aphofis
Kommen wir doch mal zurück zu der initialen Frage. Leider kann ich das Blockly aktuell nicht anschauen, deswegen als Prinzip wie ich das lösen würde:Für den Futtermodus wuerde ich ein "virtuelles" Gerät im iobroker anlegen (Mindestens ein Datenpunkt "Futtermodus aktiv".) Den kannst du dann über Alexa / Vis / andere Schaltaktoren aktivieren/deaktivieren.
An diesem Datenpunkt hängt dann ein Trigger, der alles sauber abschaltet wenn der Futtermodus aktiviert wird, und alles sauber wieder einschaltet wenn der Futtermodus deaktiviert wird. Beim wieder einschalten kannst du dich ggf. auf deine Automatisierung verlassen - das musst du aber ausprobieren.
Als letztes muss dann in die Automatisierung noch die Abfrage ob der Futtermodus aktiv ist. Wenn ja => kein automatisches einschalten
Wichtig- ich wuerde die Aktionen zum Ein/Ausschalten des Futtermodus in einem eigenen Blockly abbilden, und nicht das von Dir oben beigelegte Blockly umbauen das es das auch macht. Die einzige Änderung an dem script oben sollte die Abfrage auf den Status des Datenpunktes sein. Dann kannst du später seltsame Effekte einfacher analysieren.
A.
-
@Asgothian
klingt schon mal sehr gut!
Virtuelles Gerät hatte ich auch schon mal mehrere Berichte gelesen.
Das werde ich dann wohl auch so machen.
Wenn die Zeit ist werde ich das mal testen.
Primär muss jetzt erstmal Der DS18B20 an das NodeMCU angeklemmt werden und per Tasmota auf dem NodeMCU ausgelesen werden. Dazu muss mein Schaltsteckdosen Kasten das Temp Upgrade bekommen. Dann können Lüfter und Heizungen direkt am esp laufen und die Temp Steuerung fliegt raus. Da die leider viel zu ungenau schaltet.
Genauigigkeits Abtastung ist 1 Grad und das ist Mist.
Du meinst in dem Virtuellen Gerät dann die Geräte einbinden die gesteuert werden sollen sprich die Filter und die Förderpumpe? -
@Asgothian
Ich habe jetzt unter Objekte einen Datenpunkt erstellt namens Aquarium_Steuerung.0
Darin befinden sich dann als switch erstellt aquarium_ausschalten_ und aquarium_einschalten_
die ich dann mit Alexa oder auch per vis darstellen kann ob aktiv oder nicht aktiv.
Die Förderpumpen automatik wird in beiden schaltungen auf false gesetzt.
Dann habe ich ein Blockly erstellt der dann alle Geräte ausschaltet bei aquarium_ausschalten_
und auch automatisch wieder einschaltet nach 45 min. und auch die Filter 3min zeitversetzt einschaltet bez. wasserstand. Alle steuerungen schalten zeitversetzt mit 2 sek. um die Relais Karte nicht zu überlasten, wenn 500 Watt auf einen Schwung durch die Relais rauschen. Doch zb Reaktoren Steckdose und Strömungspumpen Schaltsteckdosen schalten zwar aber haben immer noch Saft, wie ist das möglich. Alle Steckdosen sind auf normaly open angeklemmt und auch getestet bei false liegt kein Strom an bei true sind alle Steckdosen an.
Schaltsteckdosen sind nach wie folgt aufgebaut:Name: Aqua_Power_Control
Kanal 1 (Relais1) Anschluß: D8; GPIO15; Name: Lüfter
Kanal 2 (Relais2) Anschluß: D5; GPIO14; Name: Förderpumpe
Kanal 3 (Relais3) Anschluß: D7; GPIO13; Name: Filter 1 & 2
Kanal 4 (Relais4) Anschluß: D6; GPIO12; Name: Reaktoren 1 & 2
Kanal 5 (Relais5) Anschluß: D1; GPIO5; Name: UVC 1 & 2
Kanal 6 (Relais6) Anschluß: D2; GPIO4; Name: Strömung 1 & 2
Kanal 7 (Relais7) Anschluß: D4; GPIO2; Name: Strömung 3 & 4
Kanal 8 (Relais8) Anschluß: D3 GPIO0; Name: Heizung 1 & 2
am ESP8266 zusätzlich angeschlossen an GPIO16 der DS18B20 als DS18x20 eingerichtet
manuell per iobroker läuft alles. -
@Aphofis
Ich bin bis nach Pfingsten unterwegs und kann da nicht helfen.Ich meld mich wenn ich wieder da bin.
A.
-
@Asgothian
na Klar kein Sreß! Ich habe mir dieses Jahr gesetzt damit alles läuft.
Klar vis wird noch bis ins nächste Jahr dauern aber die Technik sollte bald stehen.
Heute hatte ich eine Platine für 5 Schwimmschalter Anschlüße gelötet.
Damit kann ich dann sämtliche Zustände steuern.
Schwimmschalter 1 = Vliesfilter Vorschub (Wellenmotor)
Schwimmschalter 2 = Osmose nachfüllung (Magnetventil)
Schwimmschalter 3 = Bei Störung Max Füllstand für Osmose (Notabschaltung Magnetventil)
Schwimmschalter 4 = Alarm Sirene Max Füllstand Technikbecken
Schwimmschalter 5 = Skimmer überlauf im Abschäumer Topf Deckel Not Neustart nach timeoutSind natürlich Klinken Buchsen die ins spätere Acryl Gehäuse geschraubt werden und die Schwimmschalter bekommen alle einen Klinken Stecker.
Momentan laufen alle Schwimmschalter Geschichten direkt über die Plus leitung der jeweiligen Netzteile bis 12 Volt.Dann kommt irgendwann eine 8 fach Dosierpumpe dazu!
und wenn ich weiss wie ich die Tunze txt Datei per iobroker übertragen kann dann auch das nach x zeit eine andere txt Datei laden. Da der Inhalt ein witz ist! Ich muss nur wissen wie das Programm die txt Datei per USB an den Multi Controller schickt. Momentan läuft auf einem Netbook die Software mit einer Batch Datei die mir mal ein Kumpel programmiert hatte. Doch wollte ich schon gerne von dem Laptop weg und komplett auf Pi und Iobroker umsteigen.°°°Zumindest schönen Urlaub noch°°°