Ankündigung

Einklappen
Keine Ankündigung bisher.

Evel / Trigger Problem

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

    Evel / Trigger Problem

    Ich habe das device.blind für einen Test genutzt. Die +/-- Buttons habe ich zur Feinsteuerung der Lamellenwinkel vorgesehen.
    In meinem Item wird das Plus/Minus im Feld Winkel auch als 1 / 0 erkannt. Jetzt möchte ich diesen Wert nutzen um Lamelle +5 oder -5 zu verändern.
    Mir gelingt es Nicht! Wer kann helfen?
    <td>{{ device.blind('blindwozitest', 'Wohnraum Fenster Test', 'eg.wozi.test.move', 'eg.wozi.test.stop', 'eg.wozi.test.pos', 'eg.wozi.test.winkel', 'eg.wozi.test.lamelle',0,100,5) }}</td>
    [[[[lamelle]]]]
    type = num
    enforce_updates = true
    visu_acl = rw
    knx_dpt = 5.001
    knx_cache = 3/7/5
    knx_listen = 3/7/5
    knx_send = 3/7/5
    [[[[winkel]]]]
    type = bool
    enforce_updates = true
    visu_acl = rw
    knx_dpt = 1
    [[[[plus]]]]
    type = num
    knx_dpt = 5.001
    visu_acl = rw
    enforce_updates = yes
    eval = sh.eg.Wozi.test.lamelle(sh.eg.wozi.test.lamelle()+ 5) if sh.eg.wozi.test.winkel() == 1 else none
    eval_trigger = sh.eg.Wozi.test.winkel
    [[[[minus]]]]
    type = num
    knx_dpt = 5.001
    visu_acl = rw
    enforce_updates = yes
    eval = sh.eg.Wozi.test.lamelle(sh.eg.wozi.test.lamelle()-5) if sh.eg.wozi.test.winkel() == 0 else none
    eval_trigger = sh.eg.Wozi.test.winkel

    2016-08-09 13:56:15 INFO Main Item eg.wozi.test.winkel = False via Visu 192.xx None
    2016-08-09 13:56:17 INFO Main Item eg.wozi.test.winkel = True via Visu 192.xx None
    2016-08-09 13:56:19 INFO Main Item eg.wozi.test.winkel = False via Visu 192.xx None
    Danke für jede Hilfestellung
    Wolfgang

    #2
    Hi,
    Mit dem eval in den Items plus und minus setzt Du jeweils den Wert dieser Items. was soll dann passieren. Da diese Items keine knx Adressen haben (knx_send), wird auch nichts an den KNX Bus gesendet.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #3
      Hallo Martin,
      danke für Deine Antwort.
      Habe ich richtig verstanden, in den Items plus und minus müssen jeweils die KNX-Befehle wie unter Lamelle stehen?
      Geht es eleganter als in meinem Versuch

      LG
      Wolfgang

      Kommentar


        #4
        Du hast mit lamelle, winkel, plus und minus 4 voneinander unabhängige Items definiert.

        Wenn ein Item vom KNX Bus lesen soll, musst Du knx_listen oder knx_cache angeben (eins von beiden, beides macht keinen Sinn). Das hast Du bei Lamelle getan. Wenn ein Item auf den Bus schreiben soll, musst Du knx_send angeben. Das hast Du bei lamelle getan. Den Wert von lamelle veränderst Du aber nicht.

        Bei winkel, plus und minus hast Du zwar KNX Datentypen angegeben, die Items tun aber nicht mit dem KNX Bus (Du hast weder knx_cache/knx_listen noch knx_send angegeben.

        Die Werte von plus und minus ändern sich aber vermutlich auch nicht. Die hast Du definiert sich zu ändern, wenn winkel sich ändert. Winkel liest aber nicht vom KNX Bus (Du hast nur einen KNX Datentyp angegeben). Nur wenn Du uber die Visu winkel änderst, ändern sich bei Deiner Definition plus und minus. Die geben ihre Werte jedoch nicht auf den Bus, da Du dort kein knx_send definiert hast.
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          #5
          Msinn: lamelle wird doch durch das eval bei plus und minus verändert.

          Aber der Item-Pfad hat bei eval_trigger kein sh. - es heisst also nur eval_trigger = eg.Wozi.test.winkel (beim eval ist das sh. aber korrekt).
          Und None beim eval else schreibt sich mit grossem N, sonst hast du Fehler im Log.

          Einfacher wäre übrigens, gleich beim winkel folgendes eval anzugeben:
          Code:
          eval = sh.eg.Wozi.test.lamelle(sh.eg.wozi.test.lamelle()+ 5) if value else sh.eg.Wozi.test.lamelle(sh.eg.wozi.test.lamelle()- 5)
          Die Items plus und minus kannst du dann ganz weglassen.

          Gruss
          ​​​​​​​Stefan

          Kommentar


            #6
            Danke am Martin und Stefan,

            mit Eurer Mithilfe ist es mir gelungen.
            Letzlich habe ich die Version von Stefan gewählt, weniger Items und schreibaufwand.
            Trotzdem werde ich mit einer Logok arbeiten müssen, da ich bei 0 oder 100 eine Bremse einbauen muss.
            Das geht in einer Logik leichter. Trotzdem habe ich einiges über eval gelernt. Leider ist das Wicki noch nicht optimal.

            Nochmals Danke
            Wolfgang

            Kommentar

            Lädt...
            X