Ankündigung

Einklappen
Keine Ankündigung bisher.

Fensterstellung anzeigen

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

    Fensterstellung anzeigen

    Hallo,

    ich messe per DS2408 (onewire) meine Fensterkontakte. Jedes Fenster hat drei Kontakte (offen, gekippt, geschlossen/Fenstergriff zu). Das Erfassen der Kontakte funktioniert einwandfrei, allerdins habe ich je Fenster jetzt 3 Items.

    Code:
    Contact FensterWZLi_offen "Window [MAP(en.map):%s]" (gWohnzimmer, gFenster) { onewire="29.1B4B12000000#sensed.0" }
    Contact FensterWZLi_kipp "Window [MAP(en.map):%s]" (gWohnzimmer, gFenster) { onewire="29.1B4B12000000#sensed.1" }
    Contact FensterWZLi_zu "Window [MAP(en.map):%s]" (gWohnzimmer, gFenster) { onewire="29.1B4B12000000#sensed.2" }
    Ich möchte gerne ein Item welches diese drei Status anzeigt.
    Z.B. Status 0=zu, 1=kipp, 2=offen

    Wie würdet Ihr das machen?

    Viele Grüße
    Michael

    #2
    Hi Michael,

    Zitat von staehler Beitrag anzeigen
    Wie würdet Ihr das machen?
    mit einer Regel und einem zusätzlichen (virtuellen) Item vom Typ Number. Die Regel setzt dabei den Wert des virtuellen Fenster-Items in Abhängigkeit der drei "echten" Items.

    Such danach mal hier im Forum. RaK hat diese Lösung bei sich genau so umgesetzt (allerdings mit dem KNX Binding).

    Gruß,

    Thomas E.-E.
    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

    Kommentar


      #3
      Servus Thomas,

      Hast du zu diesem Thema auch einen Link zur Lösung von RaK. Ich habe nach dem User RaK gesucht mit div. Schlüsselwörtern... habe nichts gefunden.
      Grüße

      Kommentar


        #4
        Wenn es darum geht, ein Item mit numerischen Werten zu bekommen, musst Du ein Number Item verwenden. Wenn Du es als Schlüsselworte OPEN, CLOSED und AJAR verwenden willst, musst Du ein String Item innerhalb von Rules oder der Sitemap verwenden, dafür musst Du eine Rule erstellen, die aus dem numerischen Wert den String Wert macht:
        Code:
        rule "nummer nach contact"
        when
            Item myNumberItem changed
        then
            if(myNumberItem.state instanceof Number)
                myStringItem.postUpdate(
                    switch myNumberItem.state as Number {
                        case 0 : "CLOSED"
                        case 1 : "AJAR"
                        case 2 : "OPEN"
                        default : NULL
                    }
                )
        end
        default ist für den Fall, dass ein Wert ungleich 0, 1 oder 2 auftritt, dann wird der Status auf NULL gesetzt, damit ist der Status dann undefiniert.
        Es gibt noch eine andere Alternative, nämlich, die entsprechenden Items unter anderem Namen anzulegen, und dabei die alternativen Status anzugeben, also window-0.svg, window-1.svg und window-2.svg (oder die png-Entsprechung, falls man Bitmap-orientiert arbeitet). Diese neuen Dateien speichert man unter ./icons/classic/. Leider befinden sich die Originale nicht dort, man muss sie stattdessen umständlich aus dem System ziehen (z.B. die Icons auf einer Sitemap anzeigen lassen und von dort aus dem Browser heraus speichern - die Dateien liegen nicht irgendwo auf der Platte herum) - alternativ kann man sie natürlich auch aus dem git Repository ziehen - https://github.com/openhab/openhab2-....classic/icons.

        Kommentar


          #5
          Für die Sitemap kannst du auch mit allen drei items arbeiten. Arbeitest mit dem visibilty Eigenschaft der Sitemap und das jeweilige item wird nur angezeigt wenn es open ist
          Da ja immer nur ein item open haben kann wird somit auch immer nur eines angezeigt.

          Kommentar

          Lädt...
          X