Ankündigung

Einklappen
Keine Ankündigung bisher.

Number item incrementieren / decrementieren

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

    Number item incrementieren / decrementieren

    Hallo,

    ich möchte ein Number Item zum Zählen von Schaltaktionen nutzen. Bei dieser Item Definition

    Code:
    Number testnumber   "testzähler"
    kann ich zwar mit

    Code:
    testnumber.sendCommand(5)
    innerhalb einer Rule dem Item einen Wert zuweisen, aber ich bekomme es nicht ohne Fehlermeldung hin, den bestehenden Inhalt um 1 zu erhöhen oder zu verringern.

    Vermutlich ist das wieder ganz einfach, wenn man weiß wie es geht. Kann mir mal jemand auf's Pferd helfen?

    Gruß
    Peter

    #2
    das sollte einfach mit
    Code:
    testnumber.sendCommand((testnumber.state as DecimalType) + 1)
    (bzw. - 1) gehen. Der Stolperdraht ist das DecimalType, was dazu führt, dass der Status auf jeden Fall als Zahl interpretiert wird. Es gibt aber Fälle, wo dies misslingt, nämlich wenn das Item noch nicht initialisiert ist. Deshalb empfiehlt es sich, vorher auf einen gültigen Wert zu testen und im Zweifel einen Defaultwert zu setzen:
    Code:
    if (!(testnumber.state instanceof DecimalType))
        testnumber.postUpdate(10)
    testnumber.sendCommand((testnumber.state as DecimalType) + 1)
    In diesem Fall würde dann eine 11 auf den Bus geschickt, die 10 aber nicht

    Kommentar


      #3
      Hallo udo1toni,

      vielen Dank, wieder ne Menge dazugelernt.

      Gruß
      Peter

      Kommentar

      Lädt...
      X