Re: Beta 24: Timer-Input in verschiedenen Einheiten (und unerwarteter Fehler im LE)
Verfasst: So Jul 07, 2019 5:45 pm
@danik
Kannst du den Letztstand nochmal Posten?
Lg
Robert
Kannst du den Letztstand nochmal Posten?
Lg
Robert
Timberwolf Server, BlitzART & 1-Wire
https://forum.timberwolf.io/
HiRobert_Mini hat geschrieben: ↑So Jul 07, 2019 5:45 pm @danik
Kannst du den Letztstand nochmal Posten?
Lg
Robert
Code: Alles auswählen
{
"Level":[
["$trigger","bool",false],
["$trigger_o","bool",false],
["$state_a","bool",false],
["$state_ab","bool",false],
["$period_a","float",0],
["$period_a_i","float",0],
["$state_b","bool",false],
["$period_b","float",0],
["$period_b_i","float",0],
["$A0","float",0],
["$faktor_x","float",60],
["$pause_x","float",5],
["$VAR<Inhibit?>","bool",false]
],
"Module":[
["Break",["$VAR<Inhibit?>"]],
["Polynomial", "$faktor_x", "$period_a",["$A0", "$period_a_i"]],
["Monoflop","$trigger","-$trigger","$state_a","$period_a",2],
["Monoflop","$state_a","-$trigger","$state_ab","$pause_x",4],
["Polynomial", "$faktor_x", "$period_b",["$A0", "$period_b_i"]],
["Monoflop","$state_ab","-$trigger","$state_b","$period_b",4],
["Or",["$state_a","$state_ab","$state_b"],"$trigger"],
["Or",["$state_a","$state_ab","$state_b"],"$trigger_o"]
],
"Input":[
["Start/Stop","Startet/Beendet den Zyklus","$trigger","c"],
["Dauer1","1.Bewässerungsdauer","$period_a_i","c"],
["Dauer2","2.Bewässerungsdauer","$period_b_i","c"],
["Faktor","Faktor Dauer","$faktor_x","c"],
["Pause","Pause in s","$pause_x","c"],
["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
],
"Output":[
["Ventil1","Schaltausgang 1.Ventil","$state_a","c"],
["Ventil2","Schaltausgang 2.Ventil","$state_b","c"],
["SchaltKO","Schalt-KO","$trigger_o","c"]
]
}
Code: Alles auswählen
{
"Level":[
["$trigger","bool",false],
["$trigger_o","bool",false],
["$state_a","bool",false],
["$state_ab","bool",false],
["$period_a","float",0],
["$period_a_i","float",0],
["$state_b","bool",false],
["$state_bb","bool",false],
["$period_b","float",0],
["$period_b_i","float",0],
["$state_c","bool",false],
["$state_cb","bool",false],
["$period_c","float",0],
["$period_c_i","float",0],
["$state_d","bool",false],
["$period_d","float",0],
["$period_d_i","float",0],
["$A0","float",0],
["$faktor_x","float",60],
["$pause_x","float",5],
["$VAR<Inhibit?>","bool",false]
],
"Module":[
["Break",["$VAR<Inhibit?>"]],
["Polynomial", "$faktor_x", "$period_a",["$A0", "$period_a_i"]],
["Monoflop","$trigger","-$trigger","$state_a","$period_a",2],
["Monoflop","$state_a","-$trigger","$state_ab","$pause_x",4],
["Polynomial", "$faktor_x", "$period_b",["$A0", "$period_b_i"]],
["Monoflop","$state_ab","-$trigger","$state_b","$period_b",4],
["Monoflop","$state_b","-$trigger","$state_bb","$pause_x",4],
["Polynomial", "$faktor_x", "$period_c",["$A0", "$period_c_i"]],
["Monoflop","$state_bb","-$trigger","$state_c","$period_c",4],
["Monoflop","$state_c","-$trigger","$state_cb","$pause_x",4],
["Polynomial", "$faktor_x", "$period_d",["$A0", "$period_d_i"]],
["Monoflop","$state_cb", "-$trigger","$state_d","$period_d",4],
["Or",["$state_a","$state_ab","$state_bb","$state_cb","$state_b","$state_c","$state_d"],"$trigger"],
["Or",["$state_a","$state_ab","$state_bb","$state_cb","$state_b","$state_c","$state_d"],"$trigger_o"]
],
"Input":[
["Start/Stop","Startet/Beendet den Zyklus","$trigger","c"],
["Dauer1","1.Bewässerungsdauer","$period_a_i","c"],
["Dauer2","2.Bewässerungsdauer","$period_b_i","c"],
["Dauer3","3.Bewässerungsdauer","$period_c_i","c"],
["Dauer4","4.Bewässerungsdauer","$period_d_i","c"],
["Faktor","Faktor Dauer","$faktor_x","c"],
["Pause","Pause in s","$pause_x","c"],
["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
],
"Output":[
["Ventil1","Schaltausgang 1.Ventil","$state_a","c"],
["Ventil2","Schaltausgang 2.Ventil","$state_b","c"],
["Ventil3","Schaltausgang 3.Ventil","$state_c","c"],
["Ventil4","Schaltausgang 4.Ventil","$state_d","c"],
["SchaltKO","Schalt-KO","$trigger_o","c"]
]
}
Ja genau. Ev. braucht es einen besseren Namen.Robert_Mini hat geschrieben: ↑So Jul 07, 2019 9:45 pm
Was mir noch fehlt (oder ich nicht gesehen habe), ist ein Ausgang der solange 1 ist, wie irgendein Kreis aktiv ist (Sequenz aktiv).
Oder ist das das $SchaltKO?
Sperreingang über (+) Inhabit, jedoch nicht getestet (wobei ich meinte dass es da noch ein Sortierungsproblem gibt in der aktuellen Beta). Das und verstehe ich nicht ganz was gemeint ist. Ev. mit einem zweiten Inhabt, invertiert?Robert_Mini hat geschrieben: ↑So Jul 07, 2019 9:45 pm
Und wenn ich schon genau bin:
- ein Sperreingang und
- Freigabe-Eingang
- Globaler Faktor als Eingang der auf jede Dauer multipliziert wird
gemacht.Robert_Mini hat geschrieben: ↑Mo Jul 08, 2019 8:17 pm SchaltKO würde ich durch "Sequenz aktiv" ersetzen als Bezeichnung für den Ausgang ersetzen.
habe ich gemacht mit dem Eingang "Freigabe", der auf 1 sein muss. Beim Ändern auf 0 werden auch die Ausgänge auf 0 gesetzt (wie auch wenn bei Start/Stop auf 0 gewechselt wird). Break habe ich entfernt.Robert_Mini hat geschrieben: ↑Mo Jul 08, 2019 8:17 pm Das Sortierungsproblem bezieht sich auf das hinzufügen zusätzlicher Eingänge mit dem "+"-Zeichen.
Du kannst einen Inhibit Eingang auch gleich manuell in der Custom Logik erstellen => KB (Inhibit ist nur ein zufälliger Name, das Modul dazu heißt break...).
Ich bin aber kein Freund davon. Warum? Ein Break bei aktiver Bewässerung würde das Schließen des Ventils unterbinden!!!
Ich verwende daher einen UND-Baustein in meinen Logiken mehreren Eingängen (1x Ein/Aus, 1x als Freigabe, 1x Sperre als invertierten Eingang).
So wird die Logik nach Umschalten von Freigabe = 1 auf =0 auch korrekt abgebrochen und der Zustand gesendet, der zur ausgeschalteten Logik gehört.
Wie man das im Zusammenspiel mit dem Monoflop macht, weiß ich aber grad auch nicht.
Auch das ist nun drin mit Faktor.Robert_Mini hat geschrieben: ↑Mo Jul 08, 2019 8:17 pm Zum Abschluss:
die 60min würde ich fix als rein interne Variable belassen und zusätzlich eine Variable Faktor als Eingang vorsehen, dann reden wir immer von Minuten und der zusätzlichen Möglichkeit, die Standardzeiten (zB an besonders heißen Tagen) mit einem Faktor skalieren zu können.
Code: Alles auswählen
{
"Level":[
["$trigger","bool",false],
["$trigger_o","bool",false],
["$state_a","bool",false],
["$state_ab","bool",false],
["$period_a","float",0],
["$period_a_i","float",0],
["$state_b","bool",false],
["$period_b","float",0],
["$period_b_i","float",0],
["$A0","float",0],
["$faktor_m2s","float",60],
["$faktor_i","float",1],
["$faktor_c","float",1],
["$pause_x","float",5],
["$freigabe","bool",true],
["$reset","bool",false]
],
"Module":[
["And",["$freigabe","$trigger"],"$reset"],
["Polynomial", "$faktor_m2s", "$faktor_c",["$A0", "$faktor_i"]],
["Polynomial", "$faktor_c", "$period_a",["$A0", "$period_a_i"]],
["Monoflop","$trigger","-$reset","$state_a","$period_a",2],
["Monoflop","$state_a","-$reset","$state_ab","$pause_x",4],
["Polynomial", "$faktor_c", "$period_b",["$A0", "$period_b_i"]],
["Monoflop","$state_ab","-$reset","$state_b","$period_b",4],
["Or",["$state_a","$state_ab","$state_b"],"$trigger"],
["Or",["$state_a","$state_ab","$state_b"],"$trigger_o"]
],
"Input":[
["Start/Stop","Startet/Beendet den Zyklus","$trigger","c"],
["Dauer1","1.Bewässerungsdauer min.","$period_a_i","c"],
["Dauer2","2.Bewässerungsdauer min.","$period_b_i","c"],
["Faktor","Faktor Dauer","$faktor_i","c"],
["Pause","Pause in s","$pause_x","c"],
["Freigabe","Freigabe der Bew.Logik","$freigabe","c"]
],
"Output":[
["Ventil1","Schaltausgang 1.Ventil","$state_a","c"],
["Ventil2","Schaltausgang 2.Ventil","$state_b","c"],
["Sequenz aktiv","Sequenz aktiv","$trigger_o","c"]
]
}
Ja das wäre gut, wenn dies ein mod hinbekommt.Robert_Mini hat geschrieben: ↑So Jul 07, 2019 9:53 pm PS: Irgendwie müssen wir die Diskussion zum Bug und Bewässerung noch auftrennen, denn unter diesem Titel sucht keiner nach Bewässerungslogik...
Mache ich gleich noch nach bestem Wissen und Gewissen.danik hat geschrieben: ↑Mo Jul 08, 2019 10:12 pmJa das wäre gut, wenn dies ein mod hinbekommt.Robert_Mini hat geschrieben: ↑So Jul 07, 2019 9:53 pm PS: Irgendwie müssen wir die Diskussion zum Bug und Bewässerung noch auftrennen, denn unter diesem Titel sucht keiner nach Bewässerungslogik...
Code: Alles auswählen
{
"Level":[
["$trigger","bool",false],
["$trigger_o","bool",false],
["$state_a","bool",false],
["$state_ab","bool",false],
["$period_a","float",0],
["$period_a_i","float",0],
["$state_b","bool",false],
["$state_bb","bool",false],
["$period_b","float",0],
["$period_b_i","float",0],
["$state_c","bool",false],
["$state_cb","bool",false],
["$period_c","float",0],
["$period_c_i","float",0],
["$state_d","bool",false],
["$period_d","float",0],
["$period_d_i","float",0],
["$A0","float",0],
["$faktor_m2s","float",60],
["$faktor_i","float",1],
["$faktor_c","float",1],
["$pause_x","float",5],
["$freigabe","bool",true],
["$reset","bool",false]
],
"Module":[
["And",["$freigabe","$trigger"],"$reset"],
["Polynomial", "$faktor_m2s", "$faktor_c",["$A0", "$faktor_i"]],
["Polynomial", "$faktor_c", "$period_a",["$A0", "$period_a_i"]],
["Monoflop","$trigger","-$reset","$state_a","$period_a",2],
["Monoflop","$state_a","-$reset","$state_ab","$pause_x",4],
["Polynomial", "$faktor_c", "$period_b",["$A0", "$period_b_i"]],
["Monoflop","$state_ab","-$reset","$state_b","$period_b",4],
["Monoflop","$state_b","-$reset","$state_bb","$pause_x",4],
["Polynomial", "$faktor_c", "$period_c",["$A0", "$period_c_i"]],
["Monoflop","$state_bb","-$reset","$state_c","$period_c",4],
["Monoflop","$state_c","-$reset","$state_cb","$pause_x",4],
["Polynomial", "$faktor_c", "$period_d",["$A0", "$period_d_i"]],
["Monoflop","$state_cb", "-$reset","$state_d","$period_d",4],
["Or",["$state_a","$state_ab","$state_bb","$state_cb","$state_b","$state_c","$state_d"],"$trigger"],
["Or",["$state_a","$state_ab","$state_bb","$state_cb","$state_b","$state_c","$state_d"],"$trigger_o"]
],
"Input":[
["Start/Stop","Startet/Beendet den Zyklus","$trigger","c"],
["Dauer1","1.Bewässerungsdauer min.","$period_a_i","c"],
["Dauer2","2.Bewässerungsdauer min.","$period_b_i","c"],
["Dauer3","3.Bewässerungsdauer min.","$period_c_i","c"],
["Dauer4","4.Bewässerungsdauer min.","$period_d_i","c"],
["Faktor","Faktor Dauer","$faktor_i","c"],
["Pause","Pause in s","$pause_x","c"],
["Freigabe","Freigabe der Bew.Logik","$freigabe","c"]
],
"Output":[
["Ventil1","Schaltausgang 1.Ventil","$state_a","c"],
["Ventil2","Schaltausgang 2.Ventil","$state_b","c"],
["Ventil3","Schaltausgang 3.Ventil","$state_c","c"],
["Ventil4","Schaltausgang 4.Ventil","$state_d","c"],
["Sequenz aktiv","Sequenz aktiv","$trigger_o","c"]
]
}