NEWS
Aktor schalten bei 2 unterschiedlichen Werten
-
Hallo
Erstmals vielen lieben Dank für die schnelle Antwort.
Ich habe das gerade mal bei mir nachgebaut und hab noch ein paar Verständnisfragen.Mit meinem Verständnis müsste das so in etwa passen !
Könnest du da bitte nochmals drüberschauen und mich ggf. korrigieren.
Vielen Dank nochmals für deine Bemühungen.
LG
mandragora -
@mandragora
Der Vergleich mit ein muss mit dem Wert des Schaltaktors (.STATE) erfolgen.
Die Verknüpfung der beiden Variablen muss in oder geändert werden: ein = CO2_hoch oder rH_hoch
Die beiden Vergleiche oben sind falsch herum. Der Rest passt. -
@paul53 said in Aktor schalten bei 2 unterschiedlichen Werten:
@mandragora
Der Vergleich mit ein muss mit dem Wert des Schaltaktors (.STATE) erfolgen.
Die Verknüpfung der beiden Variablen muss in oder geändert werden: ein = CO2_hoch oder rH_hoch
Die beiden Vergleiche oben sind falsch herum. Der Rest passt.Ok. den Lüfter Schaltaktor hab ich mal eingetragen und die Verknüpfung auf "oder" geändert.
Welche Vergleiche meinst du sind falsch herum ?
Der CO2 (PPM) Wert ist der 1000er Wert und der Wert für die Luftfeuchte (rH) die 90oder meinst du die beiden Vergleiche ?
die sollten nach meinem Verständnis doch auch passen oder verstehe ich hier was falsch ?
Aktuell mit meinen Einstellungen schaltet der Lüfter permanent aus und wieder ein bei aktuell diesen Werten
Danke dir für deine Geduld
lg
mandragora -
@mandragora sagte:
Welche Vergleiche meinst du sind falsch herum ?
Der CO2 (PPM) Wert ist der 1000er Wert und der Wert für die Luftfeuchte (rH) die 90Genau die beiden: Der Datenpunkt-Wert muss größer sein als der Grenzwert (hoch).
@mandragora sagte in Aktor schalten bei 2 unterschiedlichen Werten:
Aktuell mit meinen Einstellungen schaltet der Lüfter permanent aus und wieder ein bei aktuell diesen Werten
Poste mal den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
-
Ich hab die Werte jetzt mal abgeändert und hoffe das ich dich jetzt richtig verstanden habe.
Anbei noch das JS
var CO2_hoch, ein, rH_hoch; // Beschreibe diese Funktion … function lueften() { ein = CO2_hoch || rH_hoch; // Vergleich mit Aktor Lüfter if (ein != getState("hm-rpc.0.PEQ0415297.1.STATE").val) { // schalte Lüfter ein setState("hm-rpc.0.PEQ0415297.1.STATE"/*HM-ES-PMSw1-Pl PEQ0415297:1.STATE*/, ein); } } // Sensoren auf Schwellenwerte prüfen CO2_hoch = getState("mqtt.0.espeasyco2.co2sensor.PPM").val > 1000; rH_hoch = getState("mqtt.0.espeasytemperatur.tempsensor.Luftfeuchte").val > 90; lueften(); on({id: 'mqtt.0.espeasyco2.co2sensor.PPM', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; CO2_hoch = (obj.state ? obj.state.val : "") > 1000; lueften(); // weitere Aktionen }); on({id: 'mqtt.0.espeasytemperatur.tempsensor.Luftfeuchte', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") >= 95) { rH_hoch = true; } else if ((obj.state ? obj.state.val : "") <= 85) { rH_hoch = false; } lueften(); });
Nach dem ändern der Werte schaltet der Lüfter nicht mehr ein was jetzt auch so passen würde latu meinen aktuellen Werten.
Kanns heute aber nicht mehr kontrollieren.Bin gespannt ob das jetzt passt.
Vielen Dank paul53 und gute Nacht.
Mein Gerhirn macht heute nicht mehr mitLG
mandragora -
@mandragora sagte:
Anbei noch das JS
Der Code passt.
Du solltest bei der CO2-Prüfung noch eine Hysterese einbauen (so wie bei rH), damit die Lüftung im Bereich um 1000 ppm nicht ständig ein- und ausschaltet. -
Hallo Paul
Ich hab heute mal das Ganze getestet und irgendwo hab ich da noch einen Fehler im System.
Wenn die Luftfeuchte über den Grenzwert geht dann schaltet sich der Lüfter ein. Soweit passt das.
Aber der Lüfter flappt da rum. Sprich er schaltet sich ein und wieder aus und das die Ganze Zeit hindurch.Ich denke das hast du da auch mit deinem letzten Posting gemeint das ich die Hysterese beim Co2 Wert.
Das sollte das dann beseitigen richtig ?Ich hab das jetzt mal so eingebaut.
Weiß jetzt leider nicht ob das richtig ist.Kannst du (ihr) da eventuell mal drüberschauen ob das so passen würde.
Bin da leider wenns komplexer wird noch nicht so im Saft.Ich werde es aber gleich auch mal live testen.
Danke schon mal für deine/ eure Bemühungen.
lg
mandragora -
@mandragora sagte:
die Hysterese beim Co2 Wert.
Das ist noch keine Hysterese. Außerdem falsche Variable gesetzt.
-
Ja sorry.. hab das übersehen.
Nun hab ichs so geändertLeider hab ich da noch immer einen Wurm drinn.
Hab mal ein Video von meiner Visu gemacht wie sich das Ganze verhält.HG hat 99.90 % und lt. Schwellenwert sollte der Lüfter angehen.
Macht er auch aber nur ganz kurz und schaltet dann wieder aus.Kannst du mir sagen wo ich hier den Fehler drinn hab?
Irgendwie steige ich da nicht dahinter.Vielen lieben Dank nochmals
lg
mandragora -
@mandragora sagte:
sollte der Lüfter angehen.
Macht er auch aber nur ganz kurz und schaltet dann wieder aus.Dann logge mal die Variablen:
-
Hallo nochmals.
Anbei noch ein kleines Video und Auszug vom Log.javascript.0 2020-12-30 19:03:06.150 info (1038) script.js.Pilzzucht.Pilze_Einleitung_Fruchtung2: CO2 hoch:false, rH hoch:true javascript.0 2020-12-30 19:03:01.154 info (1038) script.js.Pilzzucht.Pilze_Einleitung_Fruchtung2: CO2 hoch:false, rH hoch:true javascript.0 2020-12-30 19:02:46.142 info (1038) script.js.Pilzzucht.Pilze_Einleitung_Fruchtung2: CO2 hoch:false, rH hoch:true javascript.0 2020-12-30 19:02:41.167 info (1038) script.js.Pilzzucht.Pilze_Einleitung_Fruchtung2: CO2 hoch:false, rH hoch:true
Danke und LG
mandragora -
@mandragora sagte:
Auszug vom Log.
Das Log zeigt: Das Ausschalten kann nicht aus dem Skript kommen. Erstelle mal ein kleines Test-Script:
-
Hallo Paul,
Manchmal ist das Problem einfach vor dem Monitor
Ich hab aus versehen mein kopiertes Script 2x laufen gehabt.
Das erste dann noch mit den falschen Einstellungen.
Hab das nun deaktiviert und nun funktioniert es auch mit dem Lüfter. Zumindest jetzt mal mit der Luftfeuchte.
CO2 Überschuss hab ich bis jetzt noch nicht provozieren bzw. testen können.
(Asche über mein Haupt )Hab es jetzt getestet und es funktioniert.
Das einzige was jetzt noch nicht ganz passt ist das sich der Benebler wenn er über den Schwellenwert hinaus ist (95%) den Aktor nicht ausschaltet. Der bleibt permament ein.
Hast du da noch einen Tipp für mich ?Dann denke ich sollte alles soweit wunderbar funktionieren.
Danke dir
lg
mandragora -
@mandragora sagte:
das sich der Benebler wenn er über den Schwellenwert hinaus ist (95%) den Aktor nicht ausschaltet.
Der Benebler (wozu dient der eigentlich) wird so wie in Deinem ursprünglichen Skript auch nur durch den CO2-Wert gesteuert. Ich würde es so machen, dass entweder der Lüfter oder der Benebler läuft.
-
Hallo,
Also der Hintergrund des Ganze ist folgender.
Ich bin Hobbypilzzüchter und hab ein Gewächszelt in dem ich meine Pilze ziehe.
Hier sind 3 Werte von großer Wichtigkeit die optimal in den verschiedenen Wachstumsphasen zusammenspielen müssen.
Das ist zum einen die Temperatur und dann noch die Luftfeuchte und der CO2 Wert.Sprich während der Primordia Phase benötige ich im Zelt eine Temperatur von 10-15 °C / eine Luftfeuchte von 95-100% und einen CO2 Wert <1000 ppm
Nun will ich das Ganze eben so gut es geht automatisieren.
Die Idee dahinter war im Zelt oben einen Lüfter einzubauen der bei zu hohem CO2 Wert wie zu hoher Luftfeuchte und Temperatur sich einschaltet bis die Schwellwerte wieder im unteren Bereich sind.Da sich die Temperatur durch das Benebeln sowieso erhöht hab ich es hier mal weg gelassen und mich mal auf die Luftfeuchte und CO2 Wert konzentriert (Denke würde das Blockly auch nur unnötig aufblasen und noch komplizierter machen)
So mal meine Idee wie das Ganze funktionieren könnte.
Ob das dann alles so zusammenspielt kann ich noch nicht sagen. Aber zumindest wäre es einmal ein Ansatz um eine Pilzzucht so gut es geht zu automatisieren.Und daher müsste der Benebler sich halt dann auch ausschalten wenn er über den Wert drüber ist damit der Lüfter nicht zu lange laufen muss.
Sorry das Ganze hätte ich wohl ganz am Anfang erwähnen sollen. Wäre dann für dich sicher auch einfacher gewesen.Ich werde das mal so einbauen versuchen wie du es mir gepostet hast.
Dann schaue ich mal wie gut es funktioniert.Danke Danke Danke
lg
mandragora -
So hab ich das jetzt mal eingebaut
Ich glaub ich verwechsel da was.
Der Benebler schaltet da nicht aus.Sorry für meine blöden Fragen
-
@mandragora sagte:
Der Benebler schaltet da nicht aus.
Der Benebler muss ausschalten, wenn der Lüfter einschaltet (nicht, wenn der Lüfter schon läuft). Damit der Benebler bei Skript-Start schaltet, ändere es:
-
Hallo und Mahlzeit
Ich hab das jetzt so abgeändert und der Benebler schaltet jetzt. Aber er flappt.
Siehe mein Kurzvideo:Hab es so geändert wie von dir beschrieben. Hab ich da eventuell was übersehen ?
Das Ganze sieht beim mit jetzt so aus
Vielen Dank nochmals und schon vorweg ein gutes und gesundes neues Jahr wünsch ich dir.
lg
mandragora -
@mandragora sagte:
Das Ganze sieht beim mit jetzt so aus
Was sollen das unterste "steuere" in der Funktion und das untere "steuere" im CO2-Trigger? Lösche sie !
-
manno.. ich glaub ich sollte mal ein wenig pause machen.
mach da echt blöde fehler.so hab ichs mal ausgebessert.
sollte jetzt doch so sein wie du beschrieben hast.
oder mach ich schon wieder was falsch ?lg
mandragora