Hallo,
ich habe je Fenster zwei Items:
-Geschlossen
-Gekippt
Daraus möchte ich einen Status (0-2) machen, mit dieser Matrix:
gekippt____ 0 0 1
geschlossen 0 1 0
status_____ 0 1 2
Jetzt könnte man das sicher mit einer Logik machen, aber ein Eval reicht sicher.
Hier ein Auszug aus der Item.conf (der Pfad zum Fenster ist eigentlich länger, für die Lesbarkeit habe ich es etwas gekürzt)
Jetzt habe ich folgende Ideen
Idee 1)
Dem "gekippt" würde ich jetzt einen eval=value*2. Aber was wäre der eval_trigger (soll immer getriggert werden, wenn sich das Item selbst ändert)? Funktioniert eval_trigger=self?
Dem "status" würde ich ein eval=sum geben. Geht als eval_trigger ein "self.return_parent().geschlossen|self.return_pare nt().gekippt"?
Idee 2)
Dem "status" würde ich ein eval=self.return_parent().geschlossen+2*self.retur n_parent().gekippt geben.
Da bleibt obige Frage zum eval_trigger.
Spricht etwas FÜR Idee 1?
Idee 3) (edit:geht nicht)
Dem "gekippt" würde ich jetzt einen eval=value*2. Frage zum Trigger wie oben
Das Summieren macht die SmartVisu (basic.symbol mit mehreren GAs; Edit: Hier wird aber ein logisches 'and' gemacht, und keine Summe gebildet. Geht also nicht.)
Welche Variante würdet ihr wählen?
Edit: Man schreibt es auf und dann erinnert man sich.
Haben wir hier schonmal diskutiert. Robert hatte einen Patch dafür geschrieben:
https://knx-user-forum.de/344599-post11.html
@Marcus: Spricht etwas dagegen, den einzubauen? Die Wildcards wären sehr praktisch.
Gruß,
Hendrik
ich habe je Fenster zwei Items:
-Geschlossen
-Gekippt
Daraus möchte ich einen Status (0-2) machen, mit dieser Matrix:
gekippt____ 0 0 1
geschlossen 0 1 0
status_____ 0 1 2
Jetzt könnte man das sicher mit einer Logik machen, aber ein Eval reicht sicher.
Hier ein Auszug aus der Item.conf (der Pfad zum Fenster ist eigentlich länger, für die Lesbarkeit habe ich es etwas gekürzt)
Code:
[eg] [[Fenster_rechts]] [[[gekippt]]] type = num knx_dpt = 1 knx_cache = 8/1/5 sqlite = true [[[geschlossen]]] type = num knx_dpt = 1 knx_cache = 8/1/4 sqlite = true [[[status]]] type = num sqlite = true
Idee 1)
Dem "gekippt" würde ich jetzt einen eval=value*2. Aber was wäre der eval_trigger (soll immer getriggert werden, wenn sich das Item selbst ändert)? Funktioniert eval_trigger=self?
Dem "status" würde ich ein eval=sum geben. Geht als eval_trigger ein "self.return_parent().geschlossen|self.return_pare nt().gekippt"?
Idee 2)
Dem "status" würde ich ein eval=self.return_parent().geschlossen+2*self.retur n_parent().gekippt geben.
Da bleibt obige Frage zum eval_trigger.
Spricht etwas FÜR Idee 1?
Idee 3) (edit:geht nicht)
Dem "gekippt" würde ich jetzt einen eval=value*2. Frage zum Trigger wie oben
Das Summieren macht die SmartVisu (basic.symbol mit mehreren GAs; Edit: Hier wird aber ein logisches 'and' gemacht, und keine Summe gebildet. Geht also nicht.)
Welche Variante würdet ihr wählen?
Edit: Man schreibt es auf und dann erinnert man sich.
Haben wir hier schonmal diskutiert. Robert hatte einen Patch dafür geschrieben:
https://knx-user-forum.de/344599-post11.html
@Marcus: Spricht etwas dagegen, den einzubauen? Die Wildcards wären sehr praktisch.
Gruß,
Hendrik
Kommentar