Ankündigung

Einklappen
Keine Ankündigung bisher.

Fensterkontakte inkl. gekippt (Logik)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sipple
    antwortet
    Doch, das geht:

    Code:
    {{ basic.symbol('og.Schlafzimmer.Fensterstatus-Geschlossen', ['og.Schlafzimmer.Reed.Fenster.geschlossen', 'og.Schlafzimmer.Reed.Fenster.gekippt'] , 'Fenster', icon0~'fts_window_1w.[URL="http://redaktion.knx-user-forum.de/lexikon/svg/"]svg[/URL]', 0, 'and') }}    
    
    {{ basic.symbol('og.Schlafzimmer.Fensterstatus-Offen', 'og.Schlafzimmer.Reed.Fenster.geschlossen', 'Fenster', icon1~'fts_window_1w_open.png', 1) }}
    
    {{ basic.symbol('og.Schlafzimmer.Fensterstatus-Gekippt', 'og.Schlafzimmer.Reed.Fenster.gekippt', 'Fenster', icon1~'fts_window_1w_tilt.png', 1) }}
    Ungetestet, aber so sollte es gehn. Hab mal auch die ID's etwas angepasst, dann sieht man es leichter.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Funktioniert so doch nicht :-(

    Wenn das Fenster gekippt ist, werden zwei Symbole angezeigt, das für offen und für gekippt, denn die GA von geschlossen ist ja 0 und die von gekippt ist 1.

    Code:
    	{{ basic.symbol('og.Schlafzimmer.Fensterstatus2', 'og.Schlafzimmer.Reed.Fenster.geschlossen', 'Fenster', icon0~'fts_window_1w.svg', 1) }}
       {{ basic.symbol('og.Schlafzimmer.Fensterstatus3', 'og.Schlafzimmer.Reed.Fenster.geschlossen', 'Fenster', icon1~'fts_window_1w_open.png', 0) }}
       {{ basic.symbol('og.Schlafzimmer.Fensterstatus4', 'og.Schlafzimmer.Reed.Fenster.gekippt', 'Fenster', icon1~'fts_window_1w_tilt.png', 1) }}
    Bei der zweiten Zeile bräuchte man eine Prüfung "... und nicht gekippt".

    Bleiben also nur meine o.g. Varianten über ein weiteres Objekt?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Super, danke, so mache ich es.

    Trotzdem: Für den Lerneffekt: Wie hätte man es sonst gemacht? Was ist mit dem Patch?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Sipple
    antwortet
    Ja, genau so.

    Und für den Gesamtstatus dann sowas in der Art:

    Code:
                    {{ basic.symbol('OV_Fenster_Offen_Menu', ['Schlafzimmer.Fenster.Zustand_1', 'Galerie.Fenster.Zustand_1', 
                    'Galerie.Dachfenster.Zustand', 'Badezimmer.Dachfenster.Zustand', 'Gaestezimmer.Dachfenster.Zustand', 
                    'Wohnzimmer.Terrassentuer.Zustand_1', 'Wohnzimmer.Fenster_Mitte_Rechts.Zustand_1', 'Wohnzimmer.Fenster_Mitte_Links.Zustand_1', 
                    'Wohnzimmer.Fenster_Links_Rechts.Zustand_1', 'Wohnzimmer.Fenster_Links_Links.Zustand_1', 'Kueche.Fenster.Zustand_1', 
                    'WC.Fenster.Zustand_1', 'Hobbyraum.Fenster.Zustand_1', 'Technikraum.Fenster.Zustand_1', 'Waschhaus.Fenster.Zustand_1', 'Flur.Haustuer.Zustand'], 
                    '', './icons/rd/fts_window_1w_open.png', 1) }}
    Bei dir musst du leider für jedes Fenster zwei Items verwenden. Wenn "alles zu" nicht interessiert, brauchst nur ein basic_symbol. Ansonsten ein zweites mit ...., 0, 'and').... am Ende

    Gruß, Martin

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    Zitat von Sipple Beitrag anzeigen
    Zuerst mal: Was willst du denn am Ende erreichen, sprich, was willst du mit der "Matrix" tun? Ich vermute du willst den korrekten Zustand des Fensters in der Visu anzeigen lassen. Also Status 0 bedeutet "Fenster ist geschlossen", Status 1 bedeutet "Fenster ist geöffnet" und 2 gleich "Fenster gekippt"?
    Ja genau.

    Geht es nur um die einzelnen Fenster oder auch um einen "Gesamtstatus" (min. ein Fenster ist NICHT geschlossen o.ä.)?
    Gesamtstatus ist mir auch wichtig. Das wäre der nächste Schritt.

    Ich schätze du hast simple Reed Kontakte in den Fensterflügeln? Ist dann immer nur ein Kontakt offen?
    Ja, genau.
    Ich habe den Verdacht dass du da völlig ohne eval oder Logik auskommen kannst.
    Ah, du meinst sowas:
    Code:
       	{{ basic.symbol('og.Schlafzimmer.Fensterstatus2', 'og.Schlafzimmer.Reed.Fenster.geschlossen', 'Fenster', icon0~'fts_window_1w.svg', 0) }}
       {{ basic.symbol('og.Schlafzimmer.Fensterstatus3', 'og.Schlafzimmer.Reed.Fenster.geschlossen', 'Fenster', icon1~'fts_window_1w_open.png', 1) }}
       {{ basic.symbol('og.Schlafzimmer.Fensterstatus4', 'og.Schlafzimmer.Reed.Fenster.gekippt', 'Fenster', icon1~'fts_window_1w_tilt.png', 1) }}
    Ich hatte zunächst an basic.slider gedacht. Die Option mit basic.symbol hatte ich nicht erwogen.


    Und bei der Itemdefinition bist du dir sicher? Ein type = num aber knx_dpt = 1 bei geschlossen und gekippt?
    Ok, bool würde wohl reichen :-)

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Sipple
    antwortet
    Guten Morgen

    Zuerst mal: Was willst du denn am Ende erreichen, sprich, was willst du mit der "Matrix" tun? Ich vermute du willst den korrekten Zustand des Fensters in der Visu anzeigen lassen. Also Status 0 bedeutet "Fenster ist geschlossen", Status 1 bedeutet "Fenster ist geöffnet" und 2 gleich "Fenster gekippt"? Geht es nur um die einzelnen Fenster oder auch um einen "Gesamtstatus" (min. ein Fenster ist NICHT geschlossen o.ä.)?

    Ich schätze du hast simple Reed Kontakte in den Fensterflügeln? Ist dann immer nur ein Kontakt offen?
    Ich habe den Verdacht dass du da völlig ohne eval oder Logik auskommen kannst.

    Und bei der Itemdefinition bist du dir sicher? Ein type = num aber knx_dpt = 1 bei geschlossen und gekippt?

    Gruß, Martin

    Einen Kommentar schreiben:


  • henfri
    hat ein Thema erstellt Fensterkontakte inkl. gekippt (Logik).

    Fensterkontakte inkl. gekippt (Logik)

    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)
    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
    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
Lädt...
X